BYTETOOLS

Semantic Version Checker

Validate semantic versions, compare two versions with correct pre-release precedence, sort a whole list, and see the next major, minor and patch increments.

Validate a version

1
Major
4
Minor
0
Patch
beta.2
Pre-release
build.17
Build metadata
Release (drop pre-release)1.4.0
Next pre-release1.4.0-beta.3
Next patch1.4.0
Next minor1.5.0
Next major2.0.0

Compare two versions

1.0.0-rc.1 is higher than 1.0.0-beta.11 (pre-release identifiers compare per SemVer rules).

Sort a list

Sorted (lowest → highest)

v0.9.5
1.0.0-alpha
1.0.0-alpha.1
1.0.0-beta.2
1.0.0-beta.11
1.0.0-rc.1
1.0.0
2.0.0

What is the Semantic Version Checker?

The ByteTools Semantic Version Checker does everything SemVer: validate a version against the official 2.

  • Validates against the official SemVer 2.0.0 grammar
  • Breaks versions into major, minor, patch, pre-release identifiers and build metadata
  • Compares with correct pre-release precedence (alpha < alpha.1 < beta.2 < beta.11 < rc.1 < release)
  • Sorts pasted version lists, flagging invalid lines
  • Shows next major, minor, patch and pre-release increments
  • 100% client-side — instant results

How to use the Semantic Version Checker

  1. 1

    Enter a version like 1.4.0-beta.2 to validate it and see its parts and next increments.

  2. 2

    Enter two versions in the compare section to see which has higher precedence and why.

  3. 3

    Paste a list of versions to sort them in correct SemVer order.

  4. 4

    Copy the sorted list or the computed next version.

About the Semantic Version Checker

The ByteTools Semantic Version Checker does everything SemVer: validate a version against the official 2.0.0 grammar, break it into major, minor, patch, pre-release and build parts, compare two versions with the exact precedence rules, and sort an entire pasted list in true version order.

Pre-release precedence is where hand-comparison goes wrong, and this tool gets it right: 1.0.0-alpha comes before 1.0.0-alpha.1, numeric identifiers compare numerically (beta.2 before beta.11), and any pre-release ranks below the plain release. Build metadata after a + is parsed and displayed but correctly ignored in comparisons. It also shows the next major, minor, patch and pre-release increments for any version, following npm's conventions.

All parsing and comparison happens locally in your browser — handy for checking a version bump, ordering a changelog or settling a code-review debate instantly.

Frequently asked questions

What do major, minor and patch mean in semantic versioning?

Given MAJOR.MINOR.PATCH: bump the major version for breaking changes, the minor version for backwards-compatible new features, and the patch version for backwards-compatible bug fixes. Consumers can then reason about upgrade risk from the version number alone.

Is 1.0.0-beta lower than 1.0.0?

Yes. A pre-release version always has lower precedence than the associated normal release, so 1.0.0-beta < 1.0.0. That is why version ranges usually exclude pre-releases unless you opt in.

Why does 1.0.0-beta.11 come after 1.0.0-beta.2?

Pre-release identifiers made only of digits compare numerically, not alphabetically — 11 > 2. Mixed or alphabetic identifiers compare as ASCII strings, and numeric identifiers always rank below alphanumeric ones. String sorting gets this wrong, which is exactly why a checker helps.

Does build metadata affect version precedence?

No. Anything after a plus sign, like 1.0.0+build.42, is build metadata and is ignored when comparing versions — 1.0.0+build.42 and 1.0.0+build.99 have equal precedence per the spec.

Is v1.2.3 a valid semantic version?

Strictly, no — the SemVer grammar has no leading v. It is a widespread tagging convention (git tags, GitHub releases), so this tool accepts an optional leading v but tells you the canonical form omits it.

What does version 0.x.y mean?

Major version zero means the API is not yet stable: anything may change at any time. Under npm's caret semantics, ^0.2.3 only accepts patch-level updates, treating the minor number like a breaking-change signal.

Related tools