🏷️ SemVer Checker

Paste a version and a range expression to instantly check compatibility, with a parsed breakdown and syntax cheat sheet.

Samples:

Version breakdown

Range expansion

📖 Syntax cheat sheet
Operator Meaning Example Expands to
^Compatible with^1.2.3>=1.2.3 <2.0.0
~Approximately equivalent~1.2.3>=1.2.3 <1.3.0
* / xAny version1.x>=1.0.0 <2.0.0
- (hyphen)Inclusive range1.0.0 - 2.0.0>=1.0.0 <=2.0.0
>=Greater than or equal>=1.0.0>=1.0.0
<Less than<2.0.0<2.0.0
||OR / union^1.0.0 || ^2.0.0matches either range
=Exact match=1.2.31.2.3

FAQ

Which range operators are supported?
All standard npm semver operators: caret (^), tilde (~), hyphen ranges (1.0.0 - 2.0.0), wildcard (x, *), comparators (>, >=, <, <=, =), and OR chains (||). Pre-release identifiers and build metadata are also handled correctly.
Does my version string leave my browser?
No. Parsing and comparison happen entirely in your browser using the semver library bundled with the page — no upload, no server.
What does the range expansion show?
It normalises your input to its canonical comparator form, for example ^1.2.3 expands to >=1.2.3 <2.0.0. This makes it easy to understand exactly which versions a range allows.
Why does my pre-release version (e.g. 2.0.0-alpha.1) not satisfy ^1.0.0?
By default semver excludes pre-release versions from ranges unless the range explicitly includes a pre-release tag on the same [major, minor, patch] tuple. This matches npm's behavior.
Can I check multiple versions at once?
Not yet — the tool checks one version at a time. For batch checks, consider piping through the semver CLI in a terminal.

More tools

JSON

Code

Ornaments

Image

Web / SEO

Generators

PDF