Omnikit
DevFilesMoneyAll tools
Ctrl K
Dev toolsFile toolsMoney calculatorsAll tools
HomeDeveloper toolsSemver CheckerSemver Calculator

Semver Calculator

dev

See exactly which versions an npm range like ~1.4.0 or ^0.2.3 lets in

Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 16 Oct 2026.

A caret or tilde in package.json decides which updates npm installs, and the rules change below 1.0.0: ^1.2.3 allows anything up to 2.0.0, but ^0.2.3 stops at 0.3.0 and ^0.0.3 allows only 0.0.3. Type any range to see it written out as plain comparators, such as >=0.2.3 <0.3.0-0, then paste the published versions to see which ones npm would pick.

Next:
  • package.json Validator Check a package.json the way npm reads it: name, version, license, dependencies and syntax
  • Conventional Commit Checker Check a commit message against Conventional Commits and commitlint, with its version bump

How to work out what a caret or tilde range allows

1

Type the range, such as ^0.2.3 or ~1.4.0, in the Range box.

2

Read the line under it: the range written as plain comparators, and in words.

3

Paste the versions published for the package to see which ones fall inside it and which is the highest.

How Semver Calculator works

Semantic Versioning writes a release as MAJOR.MINOR.PATCH: a major change may break code that uses it, a minor one adds features, and a patch only fixes bugs. Package managers rely on that promise when they read a range such as ^1.2.3 in package.json and pick the newest version that fits.

Type a range and paste versions, one per line. Each version is marked as inside or outside the range, the list is sorted in true version order, and the highest and lowest matches are named. The range is also written out as plain comparators, exactly as npm prints it, so ^0.2.3 shows as >=0.2.3 <0.3.0-0.

Next versions. For the highest version in the list, the next major, minor, patch and pre-release are shown, as npm version would write them.

The rest of the article, and all 6 questions about Semver Checker, are on the Semver Checker page.

Frequently asked questions

What is the difference between tilde and caret in package.json?

A tilde allows patch updates only: ~1.2.3 accepts 1.2.4 and 1.2.10 but not 1.3.0. A caret also allows minor updates: ^1.2.3 accepts everything below 2.0.0. Since npm writes a caret by default, most projects take new features automatically and stop only at the next major version.

Why does ^0.2.3 not allow version 0.3.0?

Below 1.0.0, npm treats the first non-zero number as the major version, because the API is not yet stable. So ^0.2.3 means at least 0.2.3 and below 0.3.0, and ^0.0.3 allows only 0.0.3 itself. Moving a package to 1.0.0 is what turns on the wider caret range.

Does a pre-release like 2.0.0-beta.1 match ^1.0.0?

No. A pre-release only matches a range that names a pre-release of the same major, minor and patch numbers. So 1.3.0-beta matches >=1.3.0-alpha but not ^1.2.3, even though it sorts inside that range. Pre-releases stay out of normal installs unless you ask for them.

What does the plus sign in a version mean?

Everything after a plus sign is build metadata, such as 1.0.0+20261016 or 1.0.0+sha.5114f85. Build metadata identifies a particular build but is ignored for ordering, so 1.0.0+a and 1.0.0+b count as the same version. Ranges ignore it too, and npm drops it when printing a range.

Sources

  • Semantic Versioning 2.0.0 (semver.org)Version format, pre-release and build metadata, and precedence (section 11)
  • node-semver README, Ranges and Advanced Range Syntax (npm)Caret, tilde, X-ranges, hyphen ranges, || and the pre-release rule
  • npm Docs, npm versionHow major, minor, patch and prerelease bumps are written

Last verified 16 October 2026.

Rates and rules change; check the source before you rely on a figure.

Still stuck? Ask about Semver Checker and anybody who knows can answer. No account needed.

More ways to use Semver Checker

  • Semver CheckerTest versions against an npm range such as ^1.2.3, sort them and see the next version
  • Compare Version NumbersFind which of two version numbers is newer, pre-releases and build tags included

Same job, other tools: HTTP 401 Unauthorized – The code for a failed login or an expired token, and the header it must carry · HTTP 403 Forbidden – The difference between 403 and 401, and when a 404 is the safer reply.

On the related tools: Readability Checker – Flesch reading ease and grade level, with what to change.

Related tools

All developer tools
Regex TesterTest JavaScript regular expressions with live highlighting and a plain-English explanationDiff CheckerCompare two texts side by side and see every added and removed lineJSON DiffCompare two JSON documents and list every added, removed and changed valueOpen Graph PreviewPaste a page and see the share card for Facebook, LinkedIn, X, WhatsApp and SlackKeyword Density and ReadabilityWord and phrase counts, densities, reading time and a Flesch readability scoreHTTP Status CodesEvery HTTP status code, what it means, when to send it and the RFC it comes fromUser-Agent ParserRead a user-agent string: browser, engine, OS, device type and whether it is a botJSONPath TesterRun RFC 9535 JSONPath queries on pasted JSON and see every match highlighted
Was this tool helpful?
Omnikit

Small jobs, done in your browser. Free, fast and private. Files are never uploaded.

Files

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Money

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
GuidesQuestionsAboutHow we checkLaw library (beta)PrivacyTermsDisclosureContactMore: Exam practice (UGC NET Paper 1)Runs in your browser. Nothing is uploaded. © 2026 Omnikit (theomnikit.com)