๐ Runs in your browser โ nothing is uploadedโ Free, no signup
Semver Range Checker
Test which versions satisfy a semver range like ^1.2.3, ~1.2.3 or >=1.4 <2, read it in plain English, compare two versions, or see the next version for each bump.
Range
Matches versions that are
- at least 1.2.3 and below 2.0.0
Equivalent: >=1.2.3 <2.0.0-0
Lowest matching version: 1.2.3
Pre-release versions (like 1.9.9-beta.1) only match when the range itself names a pre-release of the same major.minor.patch.
Versions to test
- no match1.2.2
- matches1.2.3
- matches1.5.0highest match
- no match1.9.9-beta.1
- no match2.0.0
When should you use the Semver Checker?
- Understanding which versions npm install will pick for a dependency
- Choosing between ^ and ~ in package.json
- Working out the next release number
How to use the Semver Checker
- 1
Enter a range
Anything npm accepts: ^1.2.3, ~1.2.3, 1.x, >=1.4.0 <2.0.0, 1.2.3 - 1.4.0 or ranges joined with ||.
- 2
Add versions
List versions to test, one per line.
- 3
Read the result
Each version is marked as matching or not, and the highest match is highlighted.
- 4
Compare or bump
Use the other tabs to compare two versions or see the next major, minor and patch.
Examples
Caret range
Range
^1.2.3 against 1.2.2, 1.5.0, 2.0.0
Result
Matches: at least 1.2.3 and below 2.0.0 1.2.2 no match 1.5.0 matches 2.0.0 no match
Common errors and how to fix them
A pre-release version doesn't match- Pre-releases like 2.0.0-beta.1 only match ranges that mention a pre-release of the same version, such as >=2.0.0-beta.0.
^0.2.3 doesn't allow 0.3.0- For 0.x versions, ^ only allows patch updates because minor versions may break things before 1.0.
More from Generators & Testers
Free tools that run in your browser โ no signup, nothing uploaded.
Regex Tester & Debugger
Test JavaScript regular expressions with live match highlighting and groups.
Cron Expression Generator
Build cron schedules, read them in plain English and preview next runs.
UUID / GUID & ULID Generator
Generate UUID v4, v7 and ULID identifiers, or inspect an existing one.
Epoch converter online
Convert UNIX timestamps to human-readable dates and back instantly.
Time Zone Converter
Convert a time between time zones and compare cities side by side.
Random Number Generator
Generate random numbers in any range โ unique, sorted or decimals.
Random String & Token Generator
Generate secure random strings, API keys and tokens of any length.
URL Slug Generator
Turn titles into clean, SEO-friendly URL slugs.
Chmod Permissions Calculator
Convert Linux file permissions between octal (755) and symbolic (rwxr-xr-x).
Semver Checker FAQ
^1.2.3 allows anything below 2.0.0 (minor and patch updates). ~1.2.3 allows only patch updates, below 1.3.0.
A MAJOR.MINOR.PATCH scheme: increase major for breaking changes, minor for new features and patch for bug fixes.
Each part is compared as a number, not text โ 10 is larger than 9.
node-semver, the same library npm uses, so the results match npm install.
It adds or increments a pre-release number: 1.4.2 becomes 1.4.3-beta.0 with the beta tag, then 1.4.3-beta.1.
No. Everything runs in your browser, so your data never leaves your device.
