NPM Version Range Tester

Test semantic version strings against complex caret (^), tilde (~), hyphens, and comparison ranges to verify exact matching rules.

Ready

Semver Operators Guide

1. Caret Ranges (^)

Allows changes that do not modify the left-most non-zero element in the [major, minor, patch] tuple. E.g., ^1.2.3 matches >=1.2.3 <2.0.0.

2. Tilde Ranges (~)

Allows patch-level changes if a minor version is specified, or minor-level changes if only major is specified. E.g., ~1.2.3 matches >=1.2.3 <1.3.0.

Frequently Asked Questions (FAQ)

When a range is specified in package.json, npm resolves to the highest version available in the registry that satisfies all stated range constraints.

No, npm semver rules ignore pre-release tags (like -alpha or -rc.1) unless the target version range itself explicitly contains a pre-release identifier.

Omitting prefix operators (e.g., writing 1.2.3 directly) creates an exact version match requirement, restricting dependency resolution strictly to that build.