SemVer & NuGet Version Range Tester

Test NuGet and npm version ranges, sort by SemVer precedence, bump versions.

Runs locally · nothing uploaded
Available versions one per line or comma separated
Range test
    Rules for sorting and inspecting
    Sorted by precedence
      Inspect, compare & bump
      Next version (click to copy)

      What it does

      Paste the versions a package has published, type a range and see instantly which versions satisfy it and which one would be installed.

      • NuGet ranges: minimum versions (1.0), intervals ([1.0,2.0), (,1.0]), exact versions ([1.0]) and floating versions (1.*, 1.0.*, 1.0.0-*, *-*). Each range is explained in plain math and normalized.
      • npm ranges: comparators, ^, ~, x-ranges, hyphen ranges and ||, desugared exactly like node-semver (^1.2.3 becomes >=1.2.3 <2.0.0-0), including npm’s prerelease rule and the includePrerelease option.
      • Resolution: NuGet picks the lowest applicable version (floating ranges pick the highest match), npm picks the highest. The tool marks the winner, explains why the others were skipped (for example a prerelease inside a stable NuGet range) and flags restore warnings such as NU1603, NU1102 and NU1103.
      • Conversions between the two syntaxes when a range is a single interval.

      Sort, compare and bump

      The lower half sorts the list by SemVer 2.0.0 precedence (or NuGet rules: four-part versions, case-insensitive labels), reports invalid lines with the exact column of the error, and marks versions that differ only in build metadata. Inspect a single version to see its parts, compare it with another version together with the precedence rule that decided it, and get the next major, minor, patch or prerelease version (npm semver inc rules) with one click.

      Privacy

      Everything runs in your browser. The version list and your last inputs are kept in local storage only.