Git Conventional Commit & URL Converter
About Semantic Version Comparator
The Semantic Version (SemVer) Comparator & Range Evaluator tests whether version strings satisfy npm / Cargo SemVer range expressions (`^1.2.0`, `~2.4.0`, `>=1.0.0 <3.0.0`, `*`, `1.x`) and sorts version lists according to SemVer 2.0.0 precedence rules.
How to Use Semantic Version Comparator
Step 1
Enter a version number and a SemVer range expression (or paste a list of versions to sort).
Step 2
Inspect the instant match verdict and explanation.
Step 3
Review sorted version list if sorting multiple tags.
Step 4
Click "Copy Result".
Practical Use Cases for Semantic Version Comparator
Evaluating npm & Cargo Dependency Range Compatibility
Test whether a package version (e.g. `1.2.5`) satisfies a caret (`^1.2.0`) or tilde (`~1.2.0`) range requirement in `package.json`.
Sorting Release Tag Lists in Proper SemVer Order
Sort Git release tags correctly (e.g. ensuring `v1.10.0` sorts higher than `v1.9.0`, unlike alphabetical ASCII sorting).
Input & Output Examples
Testing Version against Caret Range
Version: `1.3.2` | Range: `^1.2.0`
Status: ✅ MATCHES (Version `1.3.2` satisfies range `>=1.2.0 <2.0.0`)
Key Features & Performance
- ✓Evaluates: Caret (`^`), Tilde (`~`), Hyphen ranges (`1.2.3 - 2.3.4`), Wildcards (`1.x`, `*`), and Logical OR (`||`).
- ✓Sorts multi-version lists in ascending or descending SemVer 2.0.0 precedence order.
- ✓Handles pre-release version precedence comparisons (`1.0.0-alpha` < `1.0.0-alpha.1` < `1.0.0-beta` < `1.0.0`).
- ✓100% Client-Side memory execution.
- ✓1-Click Copy comparison results.
Key Terminology & Definitions
Caret Range (`^1.2.3`)
Allows changes that do not modify the left-most non-zero digit in the `[major, minor, patch]` tuple (e.g. `>=1.2.3 <2.0.0`).
Tilde Range (`~1.2.3`)
Allows patch-level changes if minor is specified (e.g. `>=1.2.3 <1.3.0`), or minor-level changes if only major is specified.
