πŸ”’ SemVer Checker
β˜…β˜…β˜…β˜…Β½ 4.4 (371 ratings)
πŸ”’ Client-side β€” Your data never leaves your browser βœ… 100% Free β€” No signup, no limits ⚑ Instant β€” No server processing

β˜… β˜… β˜… β˜… β˜…
Loading... Thanks for your rating!

Free Online Semantic Versioning Validator & Comparison Tool

πŸ“‹ Validate Version

βš–οΈ Compare Versions

🎯 Range Matching

πŸ”Ό Version Bump

πŸ“– SemVer Quick Reference

FormatMAJOR.MINOR.PATCH
MAJORIncompatible API changes
MINORBackward-compatible new features
PATCHBackward-compatible bug fixes
Prerelease1.0.0-alpha.1, 1.0.0-beta.2
Build Metadata1.0.0+20130313144700
Caret ^Compatible: ^1.2.3 = >=1.2.3 <2.0.0
Tilde ~Approximate: ~1.2.3 = >=1.2.3 <1.3.0

Frequently Asked Questions

What is Semantic Versioning (SemVer)?

Semantic Versioning (SemVer) is a versioning scheme with the format MAJOR.MINOR.PATCH. Increment MAJOR for incompatible API changes, MINOR for backward-compatible new features, and PATCH for backward-compatible bug fixes. This standard is used by npm, Maven, and virtually all modern package managers.

What's the difference between ^ and ~?

^1.2.3 allows updates that don't change the major version (>=1.2.3 <2.0.0) β€” useful for auto-updating minor features. ~1.2.3 only allows patch-level updates (>=1.2.3 <1.3.0) β€” more conservative and safer for production dependencies.

What are prerelease versions?

Prerelease versions add a hyphen and identifier after the version, such as 1.0.0-alpha.1, 2.0.0-beta.3, or 1.0.0-rc.1. They have lower precedence than the normal version. Common identifiers: alpha (internal testing), beta (public testing), rc (release candidate).

How should I use version ranges in package.json?

Use the caret ^ range in your dependencies. For example, "lodash": "^4.17.21" accepts all 4.x.x versions. Be careful with 0.x.x versions β€” ^0.2.3 is equivalent to ~0.2.3 because 0.x major versions may include breaking changes.