Semantic Version (SemVer) Tester

Evaluate npm and SemVer 2.0 range expressions (^, ~, >=, <, ||) against release versions with exact boundary explanations.

100% Client-Side Evaluation
Presets: ^1.2.3 (Caret Major) ^0.2.3 (Caret Zero Minor) ~1.2.3 (Tilde Patch) >=1.0.0 <2.5.0 1.x (Wildcard) ^1.0.0 || ^2.0.0 (Logical OR)
Normalized Range Expansion: >=1.2.3 <2.0.0
Test Versions (One per line) 0 versions
Satisfaction Results 0 / 0 Satisfied
Version Status Evaluation Details

Frequently Asked Questions

How does the caret (^) operator behave on version 0.x.x?

Because the leftmost non-zero number is in the minor or patch position, ^0.2.3 is bounded by <0.3.0, and ^0.0.3 is bounded by <0.0.4.

Are prerelease versions (like 1.0.0-beta.1) satisfied by default?

Under SemVer 2.0 specifications, a comparator will not match a prerelease version unless the comparator itself includes a prerelease tag with the exact same major.minor.patch tuple.

What does the || operator mean?

The double pipe || signifies a logical OR between ranges. A target version satisfies the rule if it matches either range set.

Is any data sent to external servers?

No. 100% of SemVer arithmetic and range boundary testing runs locally in your web browser.