Tested tool guide
Tested browser tools
Checked August 16, 2026
What Semantic Versioning Calculator does, with a checked example
A calculator for Semantic Versioning 2.0.0 strings. Paste a version such as 2.3.1-alpha.2+build.7 and the tool validates the syntax, splits it into major, minor, patch, pre-release, and build parts, compares two versions using the spec's precedence rules, and steps a version forward by bumping one segment while zeroing the segments after it. A range field tests a version against npm-style expressions like ^2.3.0 or ~1.2.x. The recurring surprise: 1.2.0-rc.1 does not satisfy ^1.2.0 even though it is ahead of the range's lower bound, because ranges exclude pre-releases unless the range itself names one.
Worked example
A concrete input and expected output from the current implementation.
Input
2.3.1-alpha.2+build.7
Compare: 2.3.1-alpha.2 vs 2.3.1
Increment: minor on 2.3.1
Range: does 2.3.1-alpha.2 satisfy ^2.3.0?
->
Expected output
Valid: major 2, minor 3, patch 1; pre-release [alpha, 2]; build [build, 7].
Compare: 2.3.1-alpha.2 is lower - a pre-release sorts below the same version without one.
Increment: 2.4.0 - the patch segment resets to zero.
Range: no - ^2.3.0 (>=2.3.0 <3.0.0) excludes pre-releases unless the range names one.
Each result follows the SemVer 2.0.0 rules: pre-releases rank below their associated release, a minor bump zeroes everything after it, and npm-style ranges only match pre-releases when the range itself carries one. The plain version 2.3.1, by contrast, does satisfy ^2.3.0.