Choose the grammar first
Switch ecosystems before entering a rule. Each mode keeps its own draft, so a NuGet bracket interval is never silently tested as a Composer constraint.
Versioning & Packages
Select an ecosystem, then test only the syntax that belongs to it.
Enter inputs to begin.
Processing stays in this browser. No package registry is queried.
Composer: stable numeric versions, ^, ~, .*, comparisons, AND/OR and hyphen ranges.
Up to 500 version lines and 65,536 input characters. No registry lookup.
Enter inputs to begin.
When a README uses a range from another package manager, a version range checker helps you inspect the rule before editing a manifest. Paste candidate versions yourself; this page never asks a registry what is published.
A Composer version constraint and a NuGet version range use separate parsers. A Go module path is checked for lexical and downloadable-path shape, while a Cargo dependency version becomes one declaration.
One workspace keeps the ecosystem visible in every report.
This version range checker evaluates Composer numeric ranges and NuGet intervals independently. A bare NuGet 1.0 is a lower bound, while [1.0] is exact; neither is interpreted as an npm range.
The Go path result separates lexical validity from a downloadable domain prefix. Cargo output is a single TOML declaration with an explicit note about compatible versus exact versions.
Switch ecosystems before entering a rule. Each mode keeps its own draft, so a NuGet bracket interval is never silently tested as a Composer constraint.
In NuGet, bare 1.0 means at least 1.0. In Cargo, bare 1.0 allows compatible updates; prefix it with = to request an exact version.
Auto run waits 350 ms after edits. Turn it off to use Ctrl/Cmd+Enter; while a result is stale, copy and download remain disabled.
Test caret, tilde, comparisons, wildcards, AND, OR and partial hyphen ranges against your own stable numeric versions. Invalid candidate lines stay visible.
Check open and closed endpoints, unbounded sides, prerelease candidates and the difference between a bare lower bound and [x] exact matching.
Inspect permitted ASCII elements, reserved names, a lowercase downloadable domain prefix and /vN suffix rules without contacting a server.
Generate one crates.io TOML dependency line from a name, requirement, features and default-features setting; copy the snippet separately from the JSON report.
In Composer, ^1.2 permits compatible releases below 2.0, while ~1.2 permits releases below 2.0; with three components, ~1.2.3 stops before 1.3. This version range checker tests those numeric stable cases without branch stability rules.
No. [1.0,2.0) includes 1.0 and excludes 2.0 because the closing parenthesis makes the upper bound open.
Go uses a new module path for major version 2 and above, typically ending in /v2. This keeps incompatible major versions distinct in import paths; the page checks the suffix shape, not repository contents.
Cargo treats a bare version as a caret requirement. For example, 0.1.12 allows compatible 0.1.x releases below 0.2; use =0.1.12 to request one exact version.
Use the supplied-version lists only for the Composer and NuGet modes. This page does not fetch published versions, solve dependencies, or apply generic npm SemVer rules to every ecosystem.
Need help with a package rule?
Return to the version range checker, select the package ecosystem and inspect the latest report before copying a rule into your project.