SemVer Compatibility Checker
Compare two versions, evaluate constraint expressions like ^2.0.0 or >=1.5.0 <3.0.0, and understand semantic versioning rules — instantly in your browser.
Enter two versions and an optional constraint to check
How It Works
Enter Your Versions
Type two SemVer strings and an optional constraint expression like ^2.0.0 or >=1.5.0 <3.0.0.
Instant Analysis
Versions are parsed, compared, and tested against your constraint — entirely in the browser with no external calls.
Understand the Result
See which version is newer, the change level (major/minor/patch), constraint satisfaction, and a cheatsheet of common patterns.
FAQ
What is Semantic Versioning?
Semantic Versioning (SemVer) uses a MAJOR.MINOR.PATCH format. Increment MAJOR for breaking changes, MINOR for backwards-compatible features, and PATCH for backwards-compatible fixes. Pre-release labels like -alpha.1 and build metadata like +build.42 can be appended.
What do the ^, ~, and range operators mean?
^2.3.1 (caret) allows changes that do not modify the left-most non-zero digit — so >=2.3.1 <3.0.0. ~2.3.1 (tilde) allows patch-level changes — >=2.3.1 <2.4.0. Range operators like >=1.5.0 <3.0.0 define explicit bounds. Use || to combine ranges.
How are pre-release versions compared?
Pre-release versions have lower precedence than the associated normal version. For example, 1.0.0-alpha < 1.0.0. Pre-release identifiers are compared left to right: numeric identifiers sort numerically, alphanumeric identifiers sort lexically (ASCII), and numeric always has lower precedence than alphanumeric.
Is my data sent anywhere?
No. Everything is parsed and checked in your browser using JavaScript. Your version strings never leave your device.
Never miss a breaking change
Track software releases, end-of-life dates, and compatibility changes — delivered straight to your inbox when new versions land.