Semver Calculator
Bump and compare semantic versions (major/minor/patch).
Last updated: August 2026
major
2.0.0
minor
1.3.0
patch
1.2.4
1.2.3 is older than 1.3.0
Follows semantic versioning (major.minor.patch). Pre-release versions sort before their release.
Was this tool helpful?
Bumping and comparing semantic versions
Semantic Versioning gives a version three numbers, MAJOR.MINOR.PATCH, each with a defined meaning. A calculator bumps the right part for a change and compares two versions to tell you which is newer. The discipline is what lets dependency ranges work safely.
What each number means
You raise MAJOR for a breaking change, MINOR for a backward-compatible feature, and PATCH for a backward-compatible bug fix. Bumping a higher part resets the lower ones to zero: a minor bump of 1.4.3 is 1.5.0, not 1.5.3. That reset trips people up constantly.
Example
1.4.3 patch -> 1.4.4
1.4.3 minor -> 1.5.0
1.4.3 major -> 2.0.0
Precedence:
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta < 1.0.0Pre-release and build metadata
A pre-release tag like -alpha.1 sorts before the normal release, so 1.0.0-rc.1 is older than 1.0.0. Comparison of pre-release identifiers is part numeric, part lexicographic, which is why alpha.2 comes before alpha.10. Build metadata after a + is ignored entirely for precedence; two versions differing only in build metadata rank equal.
FAQ
Is 1.10.0 newer than 1.9.0? Yes. Each part is compared as a number, not as text, so 10 is greater than 9 despite the extra digit.
Why does my pre-release sort as older? By spec a pre-release has lower precedence than its matching release, so 2.0.0-beta is less than 2.0.0.
What about a leading zero like 1.01.0? That is invalid semver; numeric parts must not have leading zeros.