SemVer Comparator and Range Tester

Compare semantic versions, test range expressions, sort releases by SemVer precedence, and spot prerelease or build metadata gotchas locally in your browser.

Paste release versions and enter a SemVer range to see which versions match, how prerelease labels affect eligibility, and which matching release is the highest upgrade target. All comparison work happens in this page; version lists are not uploaded.

Supports exact versions, comparison operators, hyphen ranges, wildcards such as 1.2.x, tilde, caret, and || alternatives.

Large pasted lists are capped so the browser tab stays responsive.



How to use

Enter one or more complete semantic versions, one per line or separated by commas. The tester normalizes valid versions, sorts them by SemVer precedence, and marks each version as matching, not matching, or invalid for the supplied range.

Common ranges include ^1.2.0 for compatible updates before 2.0.0, ~1.2.3 for patch-level updates before 1.3.0, >=1.0.0 <2.0.0 for explicit bounds, 1.2.x for a minor line, and ^1.9.0 || ^2.0.0 for alternatives.

Prerelease versions such as 1.2.3-beta.1 sort before the final 1.2.3 release and do not match ordinary release ranges unless the range explicitly names the same prerelease line. Build metadata such as +build.7 is shown in the report but does not change precedence.


References