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
| Release (drop pre-release) | 1.4.0 |
| Next pre-release | 1.4.0-beta.3 |
| Next patch | 1.4.0 |
| Next minor | 1.5.0 |
| Next major | 2.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
Enter a version like 1.4.0-beta.2 to validate it and see its parts and next increments.
- 2
Enter two versions in the compare section to see which has higher precedence and why.
- 3
Paste a list of versions to sort them in correct SemVer order.
- 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
Glob Pattern Tester
Test glob patterns like src/**/*.ts against a list of file paths and see matches instantly, with the compiled regex shown. Supports *, **, ?, [abc] and {a,b}.
.gitignore Generator
Build a .gitignore file by selecting your stack — Node, Python, Java, Go, Rust, Unity, macOS, Windows, IDEs — merged, de-duplicated and ready to download.
JSON Validator
Free online JSON validator: validate JSON and find syntax errors with the exact line and column. See root type, key counts and depth — instant and 100% private.
UUID Generator
Generate 1–100 cryptographically random UUID v4 identifiers at once. Uppercase and hyphen-less options, per-item copy and copy-all. Free UUID generator.