What This Tool Does
This tool parses a Semantic Versioning 2.0.0 string into its major, minor, patch, pre-release, and build metadata parts, and can compare two versions side by side to show exactly which one takes precedence and why. Everything runs in your browser using JavaScript, there is no server call involved.
How to Parse and Compare Versions
Type or paste a version like 1.2.3 or 2.0.0-beta.1+build.42 into Version A to see it broken down into its parts, along with a stability badge and a Version Analysis panel explaining what each type of bump would produce next. Fill in Version B to compare the two directly, a banner shows whether A is less than, equal to, or greater than B, with a plain-language explanation.
How Precedence Is Determined
Major, minor, and patch are compared numerically in that order, the first difference decides precedence. If those are equal, a version without a pre-release tag always outranks one with a pre-release tag, so 1.0.0 is greater than 1.0.0-rc.1. When both versions have a pre-release, each dot-separated identifier is compared left to right: purely numeric identifiers are compared as numbers, identifiers containing any letters are compared alphabetically, and a numeric identifier always has lower precedence than an alphanumeric one at the same position. Build metadata, anything after a +, is never used in comparison at all.
What Makes a Version Stable
A version is considered stable once it has no pre-release tag and its major version is 1 or higher, that combination is what the public API contract of Semantic Versioning is built around. A major version of 0 signals initial development, breaking changes can happen in any minor release and the API should not be treated as settled. Any version with a pre-release identifier, regardless of major version, is a pre-release build not meant for production use unless you have explicitly opted into it.
Common Uses for a SemVer Parser
Checking which of two package versions is newer before upgrading a dependency, verifying a release version follows the correct format before publishing, and understanding what a specific pre-release tag like rc, beta, or alpha actually signals about stability are all common reasons to use a SemVer parser. As a semantic versioning parser, it doubles as a semver comparison tool to compare semver versions directly, a place to parse semantic version strings, a semver validator online and semantic version checker, a semver precedence calculator, an npm version comparison tool, and a semver pre-release parser for tags like rc or beta.