What does Semver Calculator do?
Compares two SemVer strings, bumps major/minor/patch, and sorts version lists under SemVer 2.0.0—browser-only, no upload.
Compare semantic versions, bump major/minor/patch for releases, and sort tag lists in your browser—SemVer 2.0.0 precedence with live previews. For ranges, use Semver Checker; for format, use Semver Tester.
Loading tool…
A semver calculator compares two semantic version strings, bumps major/minor/patch for releases, and sorts version lists using SemVer 2.0.0 precedence—this tool runs locally in your browser.
Semantic Versioning (SemVer) 2.0.0 orders versions by MAJOR, MINOR, PATCH, then prerelease identifiers. A semver calculator automates the operations developers perform daily: **compare** two tags to see which is newer, **bump** the next patch/minor/major for npm publish, and **sort** a list of release tags for changelogs.
Unlike Semver Tester (format validation) or Semver Checker (range satisfaction with ^ and ~), this page focuses on **concrete version arithmetic**—no range expressions here. Paste versions, read precedence explanations, copy bump results into package.json, or export a sorted tag list.
All processing runs in JavaScript in your browser. Version strings are not uploaded to EverydayTools servers during normal use.
Concise answers for common searches — definitions, steps, and comparisons.
Compares two SemVer strings, bumps major/minor/patch, and sorts version lists under SemVer 2.0.0—browser-only, no upload.
Yes. Compare, bump, and sort run locally in your browser; version strings are not uploaded to EverydayTools servers.
Yes. Prerelease versions have lower precedence than the stable release with the same MAJOR.MINOR.PATCH under SemVer 2.0.0.
Select Compare to diff two versions, Bump to compute the next release number, or Sort to order a tag list low to high. Press Alt+1, Alt+2, or Alt+3 to switch modes.
Type or paste semver strings. Non-strict mode strips a leading v prefix; enable strict mode for literal SemVer 2.0.0 parsing. Use example chips for common cases.
Compare shows which version is greater with an explanation. Bump shows the next version with live major/minor/patch previews. Sort outputs ordered lines and flags invalid entries.
Copy comparison summaries, bumped versions for package.json, or sorted lists for changelogs. Validate format on Semver Tester; test ranges on Semver Checker.
Common real-world scenarios where this tool saves time.
Compare published versions, bump patch after a hotfix, or sort tags before drafting release notes—without parsing strings manually.
Paste build artifacts or git tags into Sort list to order them for dashboards, monorepo reports, or documentation tables.
Compare release candidates and stable tags to confirm precedence before cutting a GitHub release or npm publish.
Sort version lists from multiple packages to find the latest release across a workspace without spreadsheet formulas.
Step-by-step chains that connect related tools for common tasks.
Input
2.3.4 (patch bump)Output
2.3.5Patch releases fix bugs without new features or breaking changes—typical npm publish after a hotfix.
Input
1.8.2 (minor bump)Output
1.9.0Minor bumps reset PATCH to 0—use when adding backwards-compatible functionality.
Input
1.0.0-alpha vs 1.0.0Output
alpha < stableAll prereleases sort before the stable release with the same MAJOR.MINOR.PATCH.
Input
2.0.0, 1.0.0-alpha, 1.2.3, 1.0.0Output
1.0.0-alpha, 1.0.0, 1.2.3, 2.0.0Sort list orders valid semver strings low to high with invalid lines reported separately.
The tool parses versions with SemVer 2.0.0 grammar, compares numeric components and prerelease identifiers per the spec, applies bump rules with component resets, and sorts parsed versions with the same comparison function. Build metadata is ignored in comparisons.
Compare, bump, sort vs format vs ranges.
| Tool | Primary job | Compare/bump | Range ^ ~ | Browser-only |
|---|---|---|---|---|
| Semver Calculator (EverydayTools) | Compare, bump, sort | Yes | No — use Checker | Yes |
| Semver Tester (EverydayTools) | Format validation | No | No | Yes |
| Semver Checker (EverydayTools) | Range satisfaction | No | Yes | Yes |
| Manual / spreadsheet | Ad hoc | Error-prone | No | Varies |
Why use a dedicated calculator instead of string compares.
| Task | This tool | Manual / spreadsheet |
|---|---|---|
| Compare 1.0.0-alpha vs 1.0.0 | SemVer precedence built in | Easy to get wrong |
| Bump after hotfix | One-click major/minor/patch | Error-prone resets |
| Sort release tags | Paste list → ordered output | Custom sort formulas |
| Privacy | Browser-local | Depends on setup |
This calculator compares, bumps, and sorts concrete versions—it is not a format linter or range checker. Use the table to pick the right semver tool.
| Related tool | Use this tool when | Use related tool when |
|---|---|---|
| Semver Tester | You need to compare versions, bump for a release, or sort a changelog list with clear compare/bump/sort actions. | You only need to validate whether a string is valid SemVer syntax before committing a tag or CI config. |
| Semver Checker | You are deciding the next release number or ordering a handful of tags with compare, bump, or sort modes. | You need to test whether a version satisfies ^, ~, or compound npm-style range expressions. |
Run Semver Tester on legacy tags before bumping—malformed strings produce errors here.
Compare major, minor, and patch previews side by side before choosing the release type.
Paste tag lists into Sort mode to avoid manual ordering mistakes in release notes.
Use Compare or Sort list so 1.9.0 correctly precedes 1.10.0.
Compare with prerelease identifiers included; stable 1.0.0 always wins over any prerelease.
Use Bump mode—patch only increments PATCH; minor resets PATCH to 0.
Use Semver Checker for dependency range audits after validating format on Semver Tester.
Fix: Use MAJOR.MINOR.PATCH (e.g. 1.0.0). Disable strict mode to allow a leading v prefix. Add missing patch: 1.2 → 1.2.0. Validate grammar on Semver Tester.
Fix: Major and minor bumps reset prerelease by default. Choose Increment prerelease on patch-only workflows, or bump after promoting to stable.
Fix: Invalid semver strings are listed separately with error messages. Fix format on Semver Tester, then re-sort.
Use Semver Tester for grammar validation—leading zeros, missing patch, invalid prerelease IDs.
Use Semver Checker for ^, ~, >=, and compound range satisfaction.
Advertisement
Semantic Versioning 2.0.0 uses MAJOR.MINOR.PATCH. MAJOR increments for breaking changes, MINOR for backwards-compatible features, and PATCH for backwards-compatible fixes. Pre-release tags (-alpha.1) sort before the stable release; build metadata (+build) is ignored when comparing versions.
Choose Compare, enter both versions, and the calculator applies SemVer precedence. For example 2.1.0 is greater than 2.0.9, and 1.0.0-alpha is less than 1.0.0 because prereleases have lower precedence than stable releases.
Bump increments one component and resets lower ones: 1.4.3 with a minor bump becomes 1.5.0; a major bump becomes 2.0.0. Use major for breaking API changes, minor for new features, and patch for bug fixes—matching npm and semantic-release conventions.
Open Sort list mode, paste versions one per line or comma-separated, and copy the output sorted low to high. Invalid lines are reported separately so you can fix typos before publishing changelogs or release notes.
Semver Calculator (this page) compares versions, bumps releases, and sorts tag lists. Semver Tester validates that a string is well-formed SemVer 2.0.0 grammar. Semver Checker tests whether a version satisfies npm-style ranges like ^1.2.0 or >=1.0.0 <2.0.0.
No—range satisfaction is on Semver Checker. This calculator compares concrete versions, bumps releases, and sorts lists. Use Checker after validating format on Semver Tester when auditing dependency ranges.
npm package.json versions follow SemVer 2.0.0. Use Bump for the next patch (1.0.0 → 1.0.1), minor (1.0.0 → 1.1.0), or major (1.0.0 → 2.0.0) release, then paste into package.json or your npm version command workflow.
Yes—Bump mode is a semantic version generator: enter your current version and get the next major, minor, or patch with correct component resets per the SemVer spec, including optional prerelease handling.
SemVer compares numeric MAJOR, MINOR, and PATCH components—not lexicographic strings. This calculator applies numeric precedence so 1.9.0 correctly precedes 1.10.0.
All prereleases with the same MAJOR.MINOR.PATCH sort before the stable release. Among prereleases, identifiers are compared left to right per SemVer 2.0.0—numeric ids compare numerically, alphanumeric ids compare lexically.
Strict mode rejects a leading v prefix on version strings (v1.2.3). Turn strict mode off to strip v before parsing—useful for Git tags that include the prefix.
No. Compare, bump, and sort operations run entirely in JavaScript in your browser. Your version strings never leave your device during normal use.
Open Developer Tools → Network tab, filter by Fetch/XHR, then compare or bump versions. You should see no requests carrying your semver inputs—only static assets load.
Yes—free with no signup, no watermark, and no usage limits for browser-based semver operations.
The compare, bump, and sort logic follows SemVer 2.0.0, which Cargo and many ecosystems use for version strings. Range operators and ecosystem-specific grammars belong on Semver Checker or your package manager docs.
Semver Calculator keeps version strings on your device—nothing is uploaded to EverydayTools servers for compare, bump, or sort operations.
All semver logic runs with JavaScript in your browser using the shared SemVer 2.0.0 engine. No server-side parsing occurs during normal use.
Open Developer Tools → Network tab while comparing or bumping versions. Filter Fetch/XHR—you should see no requests containing your inputs.
Limitations: Compare, bump, and sort only. Range checks require Semver Checker; format validation requires Semver Tester.
Part of Developer Tools
More free tools for the same workflow.
Advertisement
Reviewed by EverydayTools Editorial Team on 2026-06-02.
Compare versions
SemVer 2.0.0 precedence—including prerelease ordering and build metadata ignored.
Bump releases
Increment major, minor, or patch like npm publish with prerelease handling options.
Sort tag lists
Paste npm tags or changelog versions—get low-to-high order with invalid lines flagged.
SemVer 2.0.0 — live results as you type. Format: MAJOR.MINOR.PATCH[-prerelease][+build]
Alt+1–3 switch mode
Left-hand version in the comparison
Need to test whether a version satisfies ^ or ~ ranges? Use Semver Checker — this calculator compares, bumps, and sorts. Open Semver Checker
Enter two versions to compare.
Try an example chip below or press Alt+1–3 to switch modes.