Enter a complete version and a range to see whether they match. A range may be exact (1.2.3), comparative (>=1.2.3), open (1.x), a hyphen range (1.2.3 - 2.0.0) or an alternative (^1.2.3 || ~2.0.0).
Runs locally in your browserType a version and a range, then press Inspect version: 2.4.1-beta.2+build.19 is split into major, minor, patch, prerelease and build fields, and the range is tested against it. Everything runs in this browser, so no registry is queried and no package is installed.
The verdict follows npm's semver, the implementation every package manager uses: the ranges that would make npm install a version are the ranges that match here, including the rule that keeps prereleases out of a range that names none. A range the page cannot read is refused with an example instead of being guessed at.
1.2.3 and v1.2.3 name a single release; >, >=, <, <= and = compare against it, and a space after the operator is allowed (>= 1.2.3). Two comparators in one field must both hold (>=1.2.3 <2.0.0), while || is satisfied by either side. ^1.2.3 accepts 1.2.3 up to 2.0.0, ~1.2.3 accepts 1.2.3 up to 1.3.0, and an open part is an interval: 1.2 means 1.2.0 up to 1.3.0, 1.x means 1.0.0 up to 2.0.0, and * accepts every version that carries no prerelease.
A prerelease version only matches when the range names a prerelease on the same major.minor.patch: ^2.4.0 does not match 2.4.1-beta.2, ^2.4.0-beta.1 does match 2.4.0-beta.2, and * does not match 1.2.3-beta at all. Build metadata is ignored when versions are compared, so 2.4.1+build.19 matches 2.4.1, and a prerelease identifier may not start with a zero (1.2.3-01 is invalid): the rules npm applies are the rules applied here.
There is no registry lookup, so the page cannot say which versions a package has published, whether a version exists, or what npm would install. A dist-tag such as latest is not a range, and the page answers that instead of guessing. The verdict covers the one version you typed: nothing is fetched, cached or sent anywhere.