Skip to content
100% local

Semver bump calculator

Calculate the next semantic version from a current version and a chosen bump type.

Input

Semver bump calculator

Paste a version like 1.4.2 and choose a bump type — major, minor, patch, premajor or prerelease — and this tool calculates the exact next semantic version, following the SemVer 2.0.0 rules for pre-releases and build metadata. It is built for maintainers cutting a release, CI scripts that need the next tag, and anyone who wants to double-check a version bump before it lands in package.json or a git tag.

Premajor and prerelease bumps use the pre-release identifier option — alpha, beta or rc — to open or continue a pre-release train, so 2.0.0 becomes 2.0.0-beta.0, and a second prerelease bump on the same identifier moves it on to beta.1. Add build metadata such as a commit hash and it is appended after a plus sign. Turn on "Recommend bump from commit list" and put your current version on the first line, followed by one Conventional Commits message per line: feat: recommends a minor bump, fix: or perf: recommends a patch, and a "!" after the type, or a BREAKING CHANGE: footer, recommends a major bump. Enter a caret range (^1.2.0) or a tilde range (~1.2.0) to see whether the calculated version still falls inside it.

The calculator accepts an optional leading v (v1.4.2), reads existing pre-release and build identifiers correctly, and treats Windows and Unix line endings the same way. A version that is not valid SemVer, or a range that is not a valid caret or tilde expression, is reported in plain language rather than as a silent wrong answer.

Everything runs in your browser. No version number or commit message is ever uploaded, so it is safe to use with an unreleased project. Copy the result, download it as a .txt file, or send it back into the input to chain another bump on top of it.

FAQ

How does the commit-list recommendation decide the bump type?
It reads every line after the version as a Conventional Commits message. Any "!" after the type, or a BREAKING CHANGE: footer, recommends a major bump; otherwise a feat: line recommends minor and a fix: or perf: line recommends patch. With no recognizable commits, it falls back to your manually chosen bump type.
What happens to an existing pre-release when I bump major, minor or patch?
Bumping a field that is already at its next value on a pre-release (for example 2.0.0-rc.1 with a major bump) just drops the pre-release instead of incrementing twice, matching how tools like npm version handle it.
What do the caret and tilde range checks mean?
A caret range like ^1.2.0 allows any change that does not touch the left-most non-zero digit; a tilde range like ~1.2.0 allows only patch-level changes. The tool reports whether your calculated version falls inside the range you entered.
Does it accept versions with a leading "v", like v1.4.2?
Yes. The leading v is recognized and dropped before parsing, matching common git tag naming, and is not carried into the calculated result.
Is my version number or commit list uploaded anywhere?
No. The bump calculation runs entirely in your browser — nothing you paste ever leaves your device.