Developer Utilities · Free tool
Semver Bumper
Bump a semantic version across major, minor, or patch levels instantly online. See exact changes and pick the right increment for your release free.
npm version 1.2.4 --no-git-tag-version
Advertisement
What it does
Bump a semantic version number to its next major, minor, or patch — and see the next prerelease (alpha/beta/rc) and dev versions for advanced workflows. Most importantly, the tool surfaces the compatibility contract behind each choice so you don’t accidentally break downstream consumers.
Semantic versioning (semver) was formalized by Tom Preston-Werner (GitHub co-founder) in 2010 as semver.org, codifying conventions that were already spreading informally. The format is MAJOR.MINOR.PATCH:
- MAJOR: incompatible API changes (breaking changes to public interfaces).
- MINOR: backward-compatible new functionality.
- PATCH: backward-compatible bug fixes.
Optional pre-release identifier: 1.2.3-alpha.1, 1.2.3-beta.2, 1.2.3-rc.1. Optional build metadata: 1.2.3+abc123 (allowed but ignored by version-comparison logic per spec). Most package managers (npm, pip, Cargo, Maven) require strict semver compliance for dependency resolution to work — version-range operators like ^1.2.3 (caret = compatible MAJOR), ~1.2.3 (tilde = compatible MINOR), and >=1.2.3 <2.0.0 all rely on the MAJOR-MINOR-PATCH semantics being honored.
The most common semver mistake is under-bumping after a breaking change: you fix something but the fix changes the public API, and you bump PATCH instead of MAJOR. Now ^1.2.3 dependents auto-update and break. When in doubt, bump MAJOR — it’s less painful for users to consciously update than to be silently broken.
Embed this tool on your siteShow snippetHide
Paste this snippet into any page. Loads on-demand (lazy), no tracking scripts, and sized to most dashboards. Replace the height to fit your layout.
<iframe src="https://freetoolarena.com/embed/semver-bumper" width="100%" height="720" frameborder="0" loading="lazy" title="Semver Bumper" style="border:1px solid #e2e8f0;border-radius:12px;max-width:720px;"></iframe>How to use it
- Enter your current version (e.g. 1.2.3 or 2.0.0-beta.5).
- Pick the bump type: major (X.0.0), minor (1.Y.0), patch (1.2.Z), prerelease (1.2.3-alpha.1 or increment the prerelease counter), or build (no version change, add metadata).
- Read the next version. The tool also explains the compatibility contract — what your downstream consumers can expect.
- If you're unsure whether your change is breaking: did you remove a public method, change a method signature, change behavior, or change return types? Yes = MAJOR. Did you add new things only? = MINOR. Pure bug fix preserving existing behavior? = PATCH.
- After publishing, tag the git commit with the new version (`git tag v1.2.3`) so you have an immutable reference point.
When to use this tool
- Releasing a new version of a library or package — picking the right bump avoids downstream breakage.
- Teaching semver to new contributors who haven't internalized when to bump major vs minor.
- Publishing prereleases (alpha / beta / rc) where the format is more nuanced.
- Reviewing a PR's version bump for correctness — does the change actually warrant the bump claimed?
When not to use it
- Internal services that don't have downstream consumers — semver is for public APIs / libraries / packages. For internal date-versioned releases, use calendar versioning (CalVer): YYYY.MM.DD or 23.10.0.
- Browser apps where users don't pin versions — they always get the latest, so bumping is more about marketing than compatibility (1.0 vs 2.0 'rebrand').
- Operating systems and large platforms with their own conventions (macOS 14, Windows 11, iOS 17) — those are CalVer-ish or marketing-driven.
Common use cases
- Educational use — demonstrating the underlying concept
- Onboarding a colleague who needs the same calculation/conversion
- Verifying a number or output before passing it on
- Quick use during a typical workday
Frequently asked questions
- When should I bump major?
- When you change a public-API contract in a way that could break consumers: removed methods, renamed methods, changed signatures, changed return types, changed behavior of existing methods, removed configuration options, changed default behavior. Even one such change requires a major bump. Adding new methods alongside the old (without changing the old) is minor.
- What's the difference between alpha, beta, and rc?
- By convention: alpha = early, possibly unstable, API still in flux. beta = feature-complete but bugs expected, API mostly stable. rc (release candidate) = ready to ship, only blocking bugs would prevent release. Pre-1.0 software often skips these distinctions; mature projects use them more carefully. Versioning: 1.0.0-alpha.1 → 1.0.0-alpha.2 → ... → 1.0.0-beta.1 → ... → 1.0.0-rc.1 → 1.0.0.
- What's calendar versioning (CalVer)?
- Versioning by date instead of semantic meaning: 23.10.0 = released in October 2023. Used by Ubuntu, pip's own packaging, Twisted, JetBrains tools. Best when 'compatibility breakage' isn't a coherent concept (the user always gets the latest), or when release timing matters more than API stability. Different from semver; pick the right one for your project.
- What's the difference between ^ and ~ in package.json?
- ^1.2.3 = compatible up to but not including 2.0.0 (allows minor and patch updates). ~1.2.3 = compatible up to but not including 1.3.0 (allows patch updates only). ^ is the npm default; it's correct when the maintainer follows semver. ~ is more conservative; some teams use it when they don't trust upstream semver. Both rely on the maintainer correctly distinguishing minor vs major changes.
- What happens if I publish a major change as patch?
- Downstream applications using `^1.2.3` auto-update to your patch and break unexpectedly. CI fails, customers report bugs, the maintainer (you) gets blamed. Best practices: publish the broken patch, then immediately deprecate it via npm deprecate, then publish the proper major bump. Better: don't make this mistake. The semver-major bump exists precisely so consumers can opt-in to breaking changes.
- What about 0.x.y versions?
- Pre-1.0 versions are 'unstable by convention' — many projects bump 0.X for breaking changes (treating MINOR as MAJOR). Once you hit 1.0, you commit to semver semantics. This is why projects often delay 1.0 release: it's a stability promise, not just a number. npm packages still in 0.x are common; Rust crates almost always.
Advertisement
Learn more
Guides about this topic
- Using Our Tools · GuideHow to generate QR codesMake QR codes for URLs, WiFi, vCard, or text. Learn error correction and sizing, then generate your QR code online free with no sign-up in seconds.
- Using Our Tools · GuideHow to create a strong passwordGenerate a strong password instantly online for free. Build high-entropy passphrases following NIST 2026 rules with no download needed.
- Developers & Technical · GuideHow to encode and decode Base64Understand the 3-to-4 mechanic and 33% overhead for standard, URL-safe, and MIME Base64. Free online reference to avoid common mistakes, no download needed.
- Design & Media · GuideHow to choose a color paletteBuild accessible color palettes using HSL theory, monochromatic to triadic schemes, WCAG contrast checks, and dark mode tips. Free, no-download guide.
- Developers & Technical · GuideHow to use JWT tokens securelyImplement secure JWT authentication by choosing RS256, setting expiration, using httpOnly cookies, and preventing 'alg: none' attacks in your browser for free.
- Design & Media · GuideHow to design a faviconCreate favicons that render perfectly from 16×16 to 512×512 with dark mode support. Learn the right HTML tags and web manifest setup free online.
Explore more developer utilities tools
- Port Number LookupSearch over 140 well-known TCP and UDP ports by number or service name. Free online reference tool with no sign-up, covering web, mail, DNS, and more.
- Test Credit Card NumbersReference table of canonical test card numbers from Stripe, Adyen, and Braintree sandbox docs. Plus Luhn validator + network detector.
- IPv6 Expander & ShortenerFormat IPv6 addresses to canonical form, handling zone IDs and prefixes, instantly online—free tool with no registration required.
- Htpasswd GeneratorCreate .htpasswd lines for Apache or nginx basic auth with browser-only SHA hashing instantly. Includes config snippets and a free online tool with no registration.
- Chmod CalculatorCalculate Unix file permissions: octal (755, 644) ↔ symbolic (rwxr-xr-x) ↔ rwx checkboxes. Covers setuid, setgid, sticky bit. With presets.
- Excel Formula ExplainerPaste any formula and get a plain-English breakdown of 60+ functions online free—no sign-up required, in your browser.