Precise diff classification
Instantly know whether two versions represent a breaking change (major), backwards-compatible feature (minor), or bug fix (patch) — no spec-reading required.
500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.
Validate and compare semantic versions, including bump classification.
SemVer Tester Diff parses and compares semantic version strings using the full SemVer 2.0.0 precedence specification — major, minor, patch, pre-release identifiers, and build metadata. Paste two version strings and the tool instantly classifies the diff type (major, minor, patch, or pre-release), evaluates npm-style range expressions like ^1.2.3 and ~2.0.0, and shows which version sorts higher. Whether you are preparing a library release, auditing lock-file upgrades, or enforcing range policies in CI gates, this tool eliminates hand-calculation and the subtle mistakes that come with pre-release comparison rules. Pre-release identifiers (alpha, beta, rc.1) follow strict ASCII and numeric ordering — a detail that trips up manual checks. Build metadata (+build.001) is stripped from ordering as per spec. All parsing runs in-browser; nothing leaves your machine.
Instantly know whether two versions represent a breaking change (major), backwards-compatible feature (minor), or bug fix (patch) — no spec-reading required.
Pre-release strings follow SemVer ASCII/numeric precedence rules that are easy to mis-sort manually; the tool applies them correctly every time.
Test npm-style ranges like ^1.2.3, ~2.0.0, or >=3.0.0 <4.0.0 against any target version to verify dependency policy before a package.json update.
No Node.js, no semver npm package install needed. Paste versions and get answers in milliseconds directly in your browser.
Catch accidental version regressions or incorrect bump types before they reach a registry, changelog, or CI pipeline.
Copy the structured JSON result or bookmark the tool URL to share a consistent version-checking workflow with your team.
Input: Version A: 1.9.3 | Version B: 2.0.0
Output: Diff type: MAJOR — Version B is higher. Breaking change expected.
Input: Range: ^1.2.3 | Test version: 1.8.0
Output: ✓ 1.8.0 satisfies ^1.2.3 (>=1.2.3 <2.0.0)
Input: Version A: 2.0.0-rc.1 | Version B: 2.0.0-beta.3
Output: Diff type: PRE-RELEASE — Version A (rc.1) is higher than beta.3. Neither satisfies ^2.0.0.