Semver Calculator

Compare any two SemVer version strings, bump the major, minor, or patch component, and sort version lists — all following the SemVer 2.0 specification without manual string parsing.

Looking for related semver tools? Validator, Compatibility Checker.

Quick answer: use this calculator to compare two semantic versions or increment major/minor/patch. For format validation use Semver Tester; for range compatibility use Semver Checker.

This semver calculator helps you compare versions and generate the next semantic version quickly. Use this semver calculator to compare semantic versions and increment major, minor, or patch numbers in seconds.

Need format validation? Try Semver Tester. Need compatibility checks? Use Semver Checker.

Examples

Compare:
1.2.3 vs 2.0.0 → Version 1 is less than Version 2
1.0.0-alpha vs 1.0.0 → Prerelease has lower precedence
Increment Major:
1.2.3 → 2.0.0
1.2.3-alpha.1 → 2.0.0 (prerelease stripped)
Increment Minor:
1.2.3 → 1.3.0
Increment Patch:
1.2.3 → 1.2.4
1.2.3-alpha.1 → 1.2.4-alpha.2 (prerelease incremented)
Check Requirement:
1.2.3 satisfies ^1.2.0 → ✅ Yes
1.2.3 does NOT satisfy ^2.0.0 → ❌ No
1.2.3 satisfies >=1.0.0 <2.0.0 → ✅ Yes

About Semantic Version Calculator

The Semantic Version Calculator is an essential tool for developers working with version numbers and package management. It follows the Semantic Versioning (SemVer) 2.0.0 specification exactly, matching npm and semantic-release behavior. Perfect for determining version increments, comparing package versions, checking requirements, and managing software releases.

Use Cases:

  • Comparing package versions for dependency management
  • Determining next version number for releases
  • Understanding version differences
  • Managing npm, pip, or other package versions
  • Planning version increments for releases
  • Following semantic versioning best practices

Key Features:

  • SemVer 2.0.0 Compliant: Matches npm & semantic-release behavior exactly
  • Compare Versions: Full prerelease precedence support (1.0.0-alpha < 1.0.0)
  • Increment Versions: Smart prerelease handling (strip or increment)
  • Check Requirements: Supports ^ (caret), ~ (tilde), >=, >, <=, <, =, and AND conditions
  • Smart Validation: Helpful error messages with suggestions
  • Explanations: "Why this result?" for all operations
  • Copy to Clipboard: Copy comparison summaries, incremented versions, and requirement results
  • Strict Mode: Toggle for exact SemVer 2.0.0 compliance
  • 100% browser-based - no server processing

Semver Tool Roles:

This page focuses on comparing versions and incrementing version numbers. For dedicated format validation and syntax testing, use Semver Tester. For version-range compatibility checks, use Semver Checker.

  • Version Calculator: Compare and increment versions
  • Version Tester: Validate version formats and syntax
  • Version Checker: Check if versions satisfy ranges

Compare and Increment Semantic Versions

This tool helps developers compare semantic versions, increment versions (major, minor, patch), and check version compatibility. It is useful for package versioning and release management. For dedicated validation workflows, use our Semver Tester.

Complete Semver Toolset

Use our full semantic versioning toolkit:

By Muhammad Abdullah Rauf · Founder, EverydayTools.proUpdated 2026

Workflow guides

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

Bump a version for release

  1. Enter the current version (e.g. 2.3.1).
  2. Choose bump type: patch for bug fix → 2.3.2, minor for new feature → 2.4.0, major for breaking change → 3.0.0.
  3. Copy the bumped version into your package.json, Cargo.toml, or release tag.

Sort a list of versions

  1. Paste the version list (one per line or comma-separated).
  2. The calculator sorts them following SemVer 2.0 precedence, pre-releases first.
  3. Copy the sorted list for changelog ordering or release notes.

Advertisement

Frequently Asked Questions

What is semantic versioning (SemVer)?

Semantic Versioning 2.0.0 (semver.org) is a versioning scheme with three numeric components: MAJOR.MINOR.PATCH. MAJOR increments on breaking changes, MINOR on backwards-compatible new features, and PATCH on backwards-compatible bug fixes.

How do I compare two version strings?

Enter both versions and the calculator applies SemVer 2.0 precedence rules: compare left-to-right by numeric component. 2.1.0 > 2.0.9 because minor 1 > 0. Pre-release versions have lower precedence: 1.0.0-alpha < 1.0.0.

What does bumping a version mean?

Bumping increments one component and resets all lower ones: bump minor on 1.4.3 → 1.5.0 (patch resets to 0). Bump major on 1.5.0 → 2.0.0 (minor and patch reset). Use major bumps for breaking API changes, minor for new features, patch for bug fixes.

How are pre-release versions ordered?

Pre-release versions sort before the release: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-rc.1 < 1.0.0. Build metadata (+build.001) is ignored in precedence comparisons.

Part of Developer Tools

More free tools for the same workflow.

Advertisement