T
DataToolings

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.0
Major
1
Minor
2
Patch
3

Version Comparison

1.2.3<2.0.0(A is older)

Range vs Sample Versions

Using the range from the checker above

1.0.0
1.2.3
2.0.0
2.0.0-alpha.1
3.0.0
Quick range presets:

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

  1. Enter a version and a range to check if the version satisfies it.
  2. Use the compare section to order two versions.
  3. 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.