Semver range checker

Does 1.4.2 satisfy ^1.2.0? Test versions against npm-style ranges — caret, tilde, hyphen, comparators, || unions.

Does a version satisfy an npm-style range? Supports ^, ~, wildcards, comparators, hyphen ranges, and ||.

Prereleases match only when the range pins the same x.y.z — npm's rule.

Everything runs in this browser.

How to use

  1. Enter a version (e.g. 1.4.2).
  2. Enter a range (e.g. ^1.2.0 || >=2.0.0-beta).
  3. Read satisfy/not and the matching set.

What it supports

Subset of npm semver: exact, x/* wildcards, ^ ~, >= <= > < =, hyphen ranges, || unions. Prereleases compare per spec but only match when explicitly listed.

Related tools

Related guides