Semver Calculator
Check if a semantic version satisfies a range, compare two versions, and test ranges against sample versions. Supports ^, ~, >=, hyphen, and wildcard ranges.
Range Checker
1.2.3 satisfies ^1.0.0Version Comparison
Range vs Sample Versions
Using the range from the checker above
What Is Semantic Versioning?
Semantic Versioning (semver) is a versioning scheme using the format MAJOR.MINOR.PATCH. MAJOR increments signal breaking changes, MINOR new backwards-compatible features, and PATCH bug fixes. Version ranges use operators like ^, ~, and >= to express which versions are compatible.
How to Use
- Enter a version and a range to check if the version satisfies it.
- Use the compare section to order two versions.
- The range tester shows which sample versions match your range.
Features
- Caret ranges:
^1.2.0— compatible changes (no breaking). - Tilde ranges:
~1.2.0— patch-level changes only. - Comparison operators:
>=1.0.0 <2.0.0. - Hyphen ranges:
1.0.0 - 2.0.0. - Wildcard ranges:
1.x,*. - OR ranges with
||.
FAQ
What does ^ (caret) mean?
Caret (^) allows changes that do not modify the left-most non-zero digit. ^1.2.3 means >=1.2.3 <2.0.0.
What does ~ (tilde) mean?
Tilde (~) allows patch-level changes. ~1.2.3 means >=1.2.3 <1.3.0.
Are pre-release versions included?
Pre-release versions (e.g. 2.0.0-alpha.1) are treated as lower than the release version with the same major.minor.patch. They are only matched when explicitly specified in the range.