Semver Range Tester
Enter a semantic version and a range expression to check if the version satisfies the range. Supports npm/cargo syntax (^1.2.3, ~1.2.0, >=2.0.0, etc.) and Go module syntax (v1.2.3). The tool parses the version into its components (major, minor, patch, prerelease, build metadata) and evaluates the range expression to give a clear yes/no answer.

What it does
- ▸Parses semantic versions into major, minor, patch, prerelease, and build components
- ▸Tests versions against range expressions (^1.2.3, ~1.2.0, >=2.0.0, <3.0.0)
- ▸Supports npm/cargo caret (^) and tilde (~) ranges
- ▸Supports compound ranges (>=1.0.0 <2.0.0)
- ▸Supports Go module version syntax (v1.2.3)
- ▸Handles prerelease versions (1.0.0-beta.1) and build metadata (1.0.0+build.123)
Use cases
- ▸Checking if a package version satisfies a dependency range in package.json
- ▸Verifying that a version bump doesn't break a semver range constraint
- ▸Understanding what ^1.2.3 actually allows (>=1.2.3 <2.0.0)
- ▸Testing Go module version compatibility
How it works
Enter a semantic version (e.g., 1.4.2) in the version field
Enter a range expression (e.g., ^1.2.0) in the range field
The tool parses both and checks if the version satisfies the range
The result (satisfies / does not satisfy) is displayed with explanation
Frequently asked questions
1What does ^1.2.3 mean?
The caret (^) allows changes that don't modify the leftmost non-zero digit. ^1.2.3 allows >=1.2.3 <2.0.0 (any 1.x.x version >= 1.2.3). ^0.2.3 allows >=0.2.3 <0.3.0 (only 0.2.x). ^0.0.3 allows only 0.0.3. This is npm's default range.
2What does ~1.2.3 mean?
The tilde (~) allows patch-level changes if a minor version is specified. ~1.2.3 allows >=1.2.3 <1.3.0 (any 1.2.x version). ~1.2 allows >=1.2.0 <1.3.0. ~1 allows >=1.0.0 <2.0.0. This is more restrictive than the caret.
3Does it support Go module version syntax?
Yes. Go uses a v-prefixed version (v1.2.3) and has its own range semantics. The tool handles Go-style version strings and can test them against Go module pseudo-versions and tag constraints.
Related tools

Cron Job Parser
Explain a cron expression and list its next run times

Unix Time Converter
Convert between Unix timestamps and human-readable dates

Number Base Converter
Convert numbers between binary, octal, decimal, hex and any base 2–36

HTTP Status Codes
Look up HTTP status codes by number or search by name/description
Use Semver Range Tester offline in Devinity
All 95 tools run locally on your Mac. No internet required, no data sent to servers.
Download Devinity →