Semver

Compare two semantic versions and test whether a version satisfies a range like ^1.2.0 or ~2.1.

Runs in your browser — nothing you type here is sent anywhere.
version a
normalised1.4.2
core1.4.2
prereleasenone
buildnone
version b
normalised1.5.0
core1.5.0
prereleasenone
buildnone
a < b
precedence
minor
differs at
b
higher

1.5.0 ranks above 1.4.2 — a minor-level difference.

range

Allows 1.4.0 or newer but below 2.0.0 — new minor and patch releases within 1.x.

desugars to>=1.4.0 <2.0.0
a · 1.4.2satisfies
>=1.4.0 <2.0.0

1.4.2 satisfies >=1.4.0 and <2.0.0.

b · 1.5.0satisfies
>=1.4.0 <2.0.0

1.5.0 satisfies >=1.4.0 and <2.0.0.

Prereleases such as 2.0.0-rc.1 never satisfy a range that does not name a prerelease of that same version.

Version strings do not sort like text — `1.10.0` is newer than `1.9.0` even though it looks smaller — and prerelease tags have their own precedence rules that almost nobody remembers correctly.

Compare two versions and get a definitive answer, or test a version against a range and see whether the caret, tilde or comparator matches and why. It is the fastest way to settle what a dependency range will actually install.

What people open it for

In the terminal

semver 1.2.0 1.10.0

Every utility is also a command in the desktop's shell.

More data tools

Open the full desktop, with all 47 utilities