Semver Calculator — Compare, Bump & Sort Versions

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…

By Muhammad Abdullah Rauf · Founder, EverydayTools.proUpdated 2026-06-02· Reviewed by EverydayTools Editorial Team

What is a semver calculator?

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.

Quick answers

Concise answers for common searches — definitions, steps, and comparisons.

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.

Is Semver Calculator private?

Yes. Compare, bump, and sort run locally in your browser; version strings are not uploaded to EverydayTools servers.

Is 1.0.0-alpha less than 1.0.0?

Yes. Prerelease versions have lower precedence than the stable release with the same MAJOR.MINOR.PATCH under SemVer 2.0.0.

How to use Semver Calculator

  1. Choose Compare, Bump, or Sort

    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.

  2. Enter version strings

    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.

  3. Read the result

    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.

  4. Copy into your workflow

    Copy comparison summaries, bumped versions for package.json, or sorted lists for changelogs. Validate format on Semver Tester; test ranges on Semver Checker.

Who uses Semver Calculator?

Common real-world scenarios where this tool saves time.

npm and package releases

Compare published versions, bump patch after a hotfix, or sort tags before drafting release notes—without parsing strings manually.

CI and changelog ordering

Paste build artifacts or git tags into Sort list to order them for dashboards, monorepo reports, or documentation tables.

Release planning

Compare release candidates and stable tags to confirm precedence before cutting a GitHub release or npm publish.

Monorepo tag audits

Sort version lists from multiple packages to find the latest release across a workspace without spreadsheet formulas.

Workflow guides

Step-by-step chains that connect related tools for common tasks.

Compare → decide release

  1. Compare current production tag with the candidate release tag.
  2. Confirm precedence before tagging Git or publishing to npm.

Bump → publish

  1. Enter the current package.json version in Bump mode.
  2. Select patch, minor, or major and copy the result into package.json or your npm version workflow.

Validate → bump

  1. Confirm format in Semver Tester when importing tags from another system.
  2. Bump the validated version here and copy into package.json.

Sort tags → changelog

  1. Paste git tag names into Sort list (newline or comma separated).
  2. Copy ordered output into release notes or dashboard tables.

Semver Calculator examples

npm patch after a hotfix

Input

2.3.4 (patch bump)

Output

2.3.5

Patch releases fix bugs without new features or breaking changes—typical npm publish after a hotfix.

Minor feature release

Input

1.8.2 (minor bump)

Output

1.9.0

Minor bumps reset PATCH to 0—use when adding backwards-compatible functionality.

Prerelease ordering

Input

1.0.0-alpha vs 1.0.0

Output

alpha < stable

All prereleases sort before the stable release with the same MAJOR.MINOR.PATCH.

Sort npm tags

Input

2.0.0, 1.0.0-alpha, 1.2.3, 1.0.0

Output

1.0.0-alpha, 1.0.0, 1.2.3, 2.0.0

Sort list orders valid semver strings low to high with invalid lines reported separately.

How browser semver calculation works

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.

Limitations

  • Compare, bump, and sort only—no ^ / ~ range satisfaction on this page
  • Assumes well-formed inputs; use Semver Tester for format errors
  • SemVer 2.0.0 strings—not npm aliases or loose four-part versions

Reference tables

Semver tools compared (2026)

Compare, bump, sort vs format vs ranges.

ToolPrimary jobCompare/bumpRange ^ ~Browser-only
Semver Calculator (EverydayTools)Compare, bump, sortYesNo — use CheckerYes
Semver Tester (EverydayTools)Format validationNoNoYes
Semver Checker (EverydayTools)Range satisfactionNoYesYes
Manual / spreadsheetAd hocError-proneNoVaries

Semver Calculator vs manual parsing

Why use a dedicated calculator instead of string compares.

TaskThis toolManual / spreadsheet
Compare 1.0.0-alpha vs 1.0.0SemVer precedence built inEasy to get wrong
Bump after hotfixOne-click major/minor/patchError-prone resets
Sort release tagsPaste list → ordered outputCustom sort formulas
PrivacyBrowser-localDepends on setup

When to use Semver Calculator vs related tools

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 toolUse this tool whenUse related tool when
Semver TesterYou 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 CheckerYou 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.

Best practices

Validate before bumping

Run Semver Tester on legacy tags before bumping—malformed strings produce errors here.

Use bump previews

Compare major, minor, and patch previews side by side before choosing the release type.

Sort before publishing changelogs

Paste tag lists into Sort mode to avoid manual ordering mistakes in release notes.

Common mistakes to avoid

Treating version strings as plain text

Use Compare or Sort list so 1.9.0 correctly precedes 1.10.0.

Forgetting prerelease precedence

Compare with prerelease identifiers included; stable 1.0.0 always wins over any prerelease.

Wrong bump after 1.0.0

Use Bump mode—patch only increments PATCH; minor resets PATCH to 0.

Using calculator for range checks

Use Semver Checker for dependency range audits after validating format on Semver Tester.

Troubleshooting

Version rejected as invalid

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.

Bump stripped my -alpha tag

Fix: Major and minor bumps reset prerelease by default. Choose Increment prerelease on patch-only workflows, or bump after promoting to stable.

Sort skipped some lines

Fix: Invalid semver strings are listed separately with error messages. Fix format on Semver Tester, then re-sort.

When this tool isn't the right choice

You need to validate version string format

Use Semver Tester for grammar validation—leading zeros, missing patch, invalid prerelease IDs.

You need to test dependency ranges

Use Semver Checker for ^, ~, >=, and compound range satisfaction.

Advertisement

Frequently Asked Questions

What is semantic versioning (SemVer)?

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.

How do I compare two version strings?

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.

What does bumping a version mean?

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.

How do I sort a list of versions?

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.

What is the difference between Semver Calculator, Tester, and Checker?

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.

Does this tool check npm caret (^) and tilde (~) ranges?

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.

How do npm version numbers work with this tool?

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.

Can this act as a semantic version generator?

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.

Why is 1.10.0 greater than 1.9.0 but string sort says otherwise?

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.

How are prerelease versions ordered?

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.

What does strict mode do?

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.

Are my version strings uploaded to a server?

No. Compare, bump, and sort operations run entirely in JavaScript in your browser. Your version strings never leave your device during normal use.

How can I verify nothing is uploaded?

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.

Is Semver Calculator free?

Yes—free with no signup, no watermark, and no usage limits for browser-based semver operations.

Can I use this for Cargo or other package managers?

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.

Privacy, accuracy, and trust

Privacy

Semver Calculator keeps version strings on your device—nothing is uploaded to EverydayTools servers for compare, bump, or sort operations.

How this tool works

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.

Verification guidance

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.