Find which of two version numbers is newer, pre-releases and build tags included
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 16 Oct 2026.Version numbers do not sort like text or like decimals: 1.10.0 is newer than 1.9.0, and 2.0.0-rc.1 is older than 2.0.0. Paste two versions to see which is newer and which part differs, major, minor, patch or pre-release, or paste a whole list to get it in the right order. The rules are those of Semantic Versioning 2.0.0, the same ones npm and Cargo follow.
Paste or type your input.
Choose the options you need.
Press Ctrl+Enter, then copy or download.
Semantic Versioning writes a release as MAJOR.MINOR.PATCH: a major change may break code that uses it, a minor one adds features, and a patch only fixes bugs. Package managers rely on that promise when they read a range such as ^1.2.3 in package.json and pick the newest version that fits.
Ordering. Numbers compare as numbers, so 1.10.0 is newer than 1.9.0. A pre-release sorts below its release: 2.0.0-rc.1 comes before 2.0.0. Inside a pre-release, numeric parts compare numerically and sort before words, so beta.2 is below beta.11 and 1 is below alpha. Build metadata after a plus sign never changes the order.
Next versions. For the highest version in the list, the next major, minor, patch and pre-release are shown, as npm version would write them.
The rest of the article, and all 6 questions about Semver Checker, are on the Semver Checker page.
Yes. Each part of a semantic version is compared as a whole number, so a minor version of 10 is greater than 9. Sorting version numbers as text, or reading them as decimals, puts 1.10.0 before 1.9.0, which is wrong. Paste both here to see the correct order and which part differs.
No. A pre-release only matches a range that names a pre-release of the same major, minor and patch numbers. So 1.3.0-beta matches >=1.3.0-alpha but not ^1.2.3, even though it sorts inside that range. Pre-releases stay out of normal installs unless you ask for them.
A pre-release comes before its release, so 1.0.0-rc.1 is older than 1.0.0. Pre-release parts are compared one dot-separated part at a time: numbers numerically, words alphabetically, and numbers before words. The Semantic Versioning example order is alpha, alpha.1, alpha.beta, beta, beta.2, beta.11, rc.1, then the release.
Everything after a plus sign is build metadata, such as 1.0.0+20261016 or 1.0.0+sha.5114f85. Build metadata identifies a particular build but is ignored for ordering, so 1.0.0+a and 1.0.0+b count as the same version. Ranges ignore it too, and npm drops it when printing a range.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about Semver Checker and anybody who knows can answer. No account needed.
On the related tools: Readability Checker – Flesch reading ease and grade level, with what to change · JSONPath Evaluator – Evaluate a JSONPath expression and get the matching values and their paths.