Semver Calculator
Semantic versioning calculator — bump versions, parse semver strings, and check if a version satisfies a version range.
Parsed Version
Major
1
Minor
2
Patch
3
Bumped Versions
Patch1.2.4Bug fix / minor change
Minor1.3.0New feature (backwards compatible)
Major2.0.0Breaking change
Version Range Checker
Satisfies
How to Use Semver Calculator
- 1Enter a semantic version string (e.g., 1.2.3).
- 2See the bumped major, minor, and patch versions.
- 3Enter a version range to check compatibility.
- 4Add pre-release identifiers and build metadata.
Zenovay
Privacy-first analytics for your website
Understand your visitors without invasive tracking. GDPR compliant, lightweight, and powerful.
Related Tools
JSON Formatter & ValidatorFormat, validate, and beautify JSON data with syntax highlighting and error detection.
JWT DecoderDecode and inspect JWT tokens. View header, payload, and verify signatures.
Base64 Encode/DecodeEncode text to Base64 or decode Base64 back to text. Supports UTF-8 and binary data.
URL Encode/DecodeEncode or decode URL components. Handle special characters, query strings, and full URLs.
Frequently Asked Questions
What is Semantic Versioning?▾
Semantic Versioning (semver) is a versioning scheme with the format MAJOR.MINOR.PATCH: MAJOR — incompatible API changes; MINOR — new backwards-compatible features; PATCH — backwards-compatible bug fixes. For example: 1.0.0 → 1.0.1 (patch fix), 1.0.1 → 1.1.0 (new feature), 1.1.0 → 2.0.0 (breaking change). Pre-release versions use a hyphen: 1.0.0-alpha.1, 1.0.0-beta.2, 1.0.0-rc.1. Build metadata uses +: 1.0.0+build.123.
What do npm version range specifiers mean?▾
^1.2.3 (caret) — allows MINOR and PATCH updates: >=1.2.3 <2.0.0. Commonly used in package.json. ~1.2.3 (tilde) — allows only PATCH updates: >=1.2.3 <1.3.0. Stricter. >=1.2.3 — any version at or above. 1.2.3 — exact version only. * — any version. 1.x or 1.X — any patch for major 1. 1.2.x — any patch for 1.2. Ranges can be combined: >=1.0.0 <2.0.0 (equivalent to ^1.0.0 for non-zero major).
When should I bump major vs minor vs patch?▾
Bump PATCH for: bug fixes, security patches, performance improvements, documentation changes — nothing that changes the public API. Bump MINOR for: new features, new functions/methods, deprecating existing functionality (but not removing it) — all backwards compatible. Bump MAJOR for: removing or renaming public APIs, changing function signatures in incompatible ways, changing default behavior that was previously stable. When in doubt, use MINOR — you can always release a MAJOR later if needed.
What is the difference between 0.x.y and 1.x.y versioning?▾
Under semver, 0.MAJOR.MINOR indicates initial development where anything may change. The standard patch/minor/major semantics do not strictly apply below 1.0.0 — breaking changes can happen in MINOR bumps. Many projects use 0.x.y during development and release 1.0.0 when the API is stable. npm and other package managers respect this and treat ^0.1.0 as >=0.1.0 <0.2.0 (not the usual caret behavior), making ^0.x.y effectively a tilde.
What is a release candidate and when should I use it?▾
A release candidate (rc) is a pre-release version that could become the final release if no bugs are found: 1.0.0-rc.1, 1.0.0-rc.2. Pre-release progression typically goes: alpha (early, unstable) → beta (feature complete, may have bugs) → rc (production-ready candidate). Pre-release versions have lower precedence than the release: 1.0.0-rc.1 < 1.0.0. They are excluded from most package managers' semver range resolution unless explicitly requested.