How to Compare Semantic Versions
SemVer Comparison
When to Compare Versions
Compare npm package versions, Git tags, or API release numbers to determine which is newer. Essential for dependency audits, upgrade planning, CI version gates, and answering whether 1.10.0 is greater than 1.9.0 during release management.
SemVer Rules
Semantic versioning uses MAJOR.MINOR.PATCH. Major bumps indicate breaking changes, minor adds features, patch fixes bugs. Pre-release labels (alpha, beta, rc) sort before the release version. Build metadata after + is ignored for precedence.
Developer Tips
- npm:
semver.gt('1.10.0', '1.9.0')for programmatic checks - Pre-release versions sort lower than release — 1.0.0-alpha < 1.0.0
- Use Parse to inspect individual version components before comparing ranges
Frequently asked questions
Are pre-release versions supported?
Yes. Labels like 1.0.0-beta.1 are compared according to SemVer pre-release precedence rules.
What about version ranges?
This tool compares two explicit versions. Use npm semver range syntax separately for caret and tilde constraints.