← All tools

Semver Range Checker

Check which versions satisfy an npm semver range, right in your browser.

This tool runs entirely in your browser. Your input is never uploaded.

Presets
Versions · 0 lines
Results

Paste a list of versions, or import package.json.

Semver Range Checker

Check which versions satisfy an npm semver range, right in your browser.

Input

Paste one version per line into the left pane, then type an npm version range into the range field above. A leading v or = is accepted, and # comments plus blank lines are ignored.

RangeMatches
^1.2.3>=1.2.3 <2.0.0 (allows new minor and patch releases)
^0.2.3>=0.2.3 <0.3.0 (a zero major pins the minor)
^0.0.3>=0.0.3 <0.0.4 (a zero minor pins the patch)
~1.2.3>=1.2.3 <1.3.0 (patch-level changes only)
1.x, 1.2.*1.x and 1.2.x
>=1.2.0 <2.0.0versions in that window (space means AND)
1.2.3 - 2.3.4an inclusive hyphen range
1.0.0 || 2.xeither side of the or

An empty range matches every version. Use the preset chips to try the common forms.

Results

The table marks each line with a match or no-match badge and the comparator that decided it, so you can see exactly why a version was rejected. The summary line reports how many versions matched, the highest matching version, and the newest version overall.

Prereleases

By default a prerelease such as 1.3.0-beta.1 only matches a range that names a prerelease with the same major.minor.patch. Turn on Include prereleases to opt out of that rule and match it like any other version.

package.json

Use Import package.json to read the exact versions from the dependencies, devDependencies, peerDependencies and optionalDependencies blocks of a project manifest. Ranges such as ^8.0.0 are skipped because they are ranges, not versions.

Privacy and limits

Parsing, comparison and sorting run entirely in your browser. Nothing is uploaded or sent to a server.

Related tools

A growing collection of browser-only tools. Your data stays on your device whenever the browser can handle the task.