consolelog.tools

Semantic Versioning Helper

A SemVer 2.0.0 workbench: parse a version, see exactly what every release bump produces, test version ranges (^ ~ x hyphen ||) against a candidate, and turn a set of changes into the right bump plus a Keep-a-Changelog entry.

About this ToolHow it works, benefits & use cases

A complete Semantic Versioning workbench, not just a bump calculator. Type any version and it parses the full SemVer 2.0.0 string -- major, minor, patch, prerelease identifiers, and build metadata -- and flags it valid or invalid instantly. A "what each bump produces" table then shows the exact result of every release type (major, minor, patch, premajor, preminor, prepatch, and prerelease) so you can see, for example, that a prerelease bump turns 1.2.3 into 1.2.4-beta.0 and that 1.2.3-beta.0 becomes 1.2.3-beta.1. The headline feature is the range tester: enter a range using carets, tildes, x/star wildcards, comparators, hyphen ranges, or || unions, and a candidate version, and the tool tells you whether it satisfies the range plus a plain-English expansion of the bounds (^1.2.3 := >=1.2.3 <2.0.0). Finally, tick which kinds of changes are in your release and it recommends the correct bump with a rationale and hands you a Keep-a-Changelog style CHANGELOG.md block for the resulting version. Everything is captured in a shareable URL.

How to Use

  1. 1Type your current version (with or without a leading v); the parsed breakdown and validity update live.
  2. 2Pick a prerelease identifier (alpha, beta, rc, next, canary) to control how prerelease bumps are tagged.
  3. 3Read the "what each bump produces" table and the before-after cards to see exactly what major/minor/patch/pre* yield.
  4. 4Use the range tester: enter a range (e.g. ^1.2.3 or 1.0.0 - 2.0.0 or ^1 || ^2) and a candidate version to check whether it satisfies, with the bounds explained.
  5. 5Tick the breaking / features / fixes checkboxes to get the recommended bump and a ready-to-paste CHANGELOG.md entry.

Key Benefits

  • Full SemVer 2.0.0 parser including prerelease and build-metadata identifier arrays
  • A next-versions table covering all seven npm-style release types, not just three
  • Range tester supporting ^, ~, x/* wildcards, comparators, hyphen ranges, and || unions
  • Plain-English range expansion so you know the precise bounds a dependency will accept
  • Spec-correct precedence handling (prerelease < release; numeric vs alphanumeric identifiers)
  • Change-to-bump recommendation with a rationale, plus a Keep-a-Changelog CHANGELOG.md block
  • Shareable URL and a pipe-to menu to send output into related tools

Common Use Cases

  • Deciding whether a set of changes is a major, minor, or patch release
  • Predicting what npm version a dependency range like ^1.2.3 will actually install
  • Working out the next prerelease tag for an alpha, beta, or release-candidate build
  • Checking whether a candidate version falls inside a complex range with unions and wildcards
  • Generating a clean changelog entry for a release without hand-formatting markdown

Parsed version

valid SemVer

1

major

4

minor

2

patch

no prerelease

What each bump produces

major

Incompatible API changes

2.0.0
minor

Backwards-compatible features

1.5.0
patch

Backwards-compatible bug fixes

1.4.3
premajor

Next major, as a prerelease

2.0.0-beta.0
preminor

Next minor, as a prerelease

1.5.0-beta.0
prepatch

Next patch, as a prerelease

1.4.3-beta.0
prerelease

Increment / start a prerelease

1.4.3-beta.0

Prerelease rows use the beta identifier.

Current version

Try a bump

major

1.4.22.0.0

minor

1.4.21.5.0

patch

1.4.21.4.3

premajor

1.4.22.0.0-beta.0

preminor

1.4.21.5.0-beta.0

prepatch

1.4.21.4.3-beta.0

prerelease

1.4.21.4.3-beta.0

Range tester

Supports ^ ~ x/* wildcards, comparators (>= > <= < =), 1.0.0 - 2.0.0 hyphen ranges, and || unions.

1.5.0 satisfies ^1.2.3

^1.2.3 := >=1.2.3 <2.0.0

What changed?

Tick what is in this release and we will recommend the correct bump.

Recommended bump:minor1.5.0

New backwards-compatible features call for a MINOR bump.

diff: minor

Changelog entry

Keep-a-Changelog style block for the recommended version

## [1.5.0] - 2026-09-07

### Added

- Describe the new feature here.

MAJOR.MINOR.PATCH

Semantic Versioning gives a release number meaning. Bump MAJOR when you make incompatible API changes, MINOR when you add backwards-compatible functionality, and PATCH for backwards-compatible bug fixes. Prerelease tags like -beta.1 mark unstable builds that always rank below the matching stable release.

Why ranges matter

Package managers install whatever version satisfies a range. A caret ^1.2.3 allows any 1.x.x at or above 1.2.3 but never 2.0.0, while a tilde ~1.2.3 stays inside 1.2.x. The range tester above shows the exact bounds so you know precisely which updates a dependency will accept.

Was this tool helpful?

Share Your Experience

Help others discover this tool!

Related tools