SemVer sorter and comparator
Sort a list of version numbers by semantic versioning precedence.
SemVer sorter and comparator
Paste a list of version numbers and this tool sorts them by semantic versioning (SemVer) precedence, not plain text order. A text sort puts "1.10.0" before "1.9.0" because "1" comes before "9" character by character; this tool compares the major, minor and patch numbers as numbers, so "1.10.0" correctly lands after "1.9.0". Pre-release versions are handled too: "1.0.0-rc.1" sorts before its own release "1.0.0", exactly as the SemVer spec defines, and build metadata after a "+" is read but never affects ordering.
Turn on "Ignore v prefix" to accept git-tag-style versions such as "v1.2.3" alongside bare ones. "Exclude pre-release versions" drops any line with a "-suffix" from the output entirely, handy when you only want shipped releases. "Keep only the highest version per" collapses the list down to one entry per major or per major.minor branch — paste every tag a project ever had and get back just the latest patch of each release line. Lines that are not valid SemVer can be flagged with "Mark lines that are not valid SemVer" so a stray "latest" or malformed tag doesn't silently vanish from a long list; leave it off to drop them instead. Mode switches this to comparing two versions per line, or to inspecting parts, faults and a range such as ^1.2.
This is the kind of check that comes up when triaging a changelog, deciding which of a project's git tags are actual releases, or picking the highest compatible dependency version out of a lockfile or registry listing. The direction option flips between ascending and descending order in one click, so newest-first is just as easy as oldest-first.
Everything runs locally in your browser: the list of versions never leaves your device. Copy the sorted result, download it as a .txt file, or send it straight into another tool to keep working.