Semver Validator & Analyzer
Parse, validate, and compare Semantic Versioning strings. Supports SemVer 2.0, pre-release tags, and build metadata.
| Major | 1 |
| Minor | 2 |
| Patch | 3 |
| Pre-release | alpha.1 |
| Build Metadata | build.456 |
How to Use
Paste a version string
Enter any semver-like string — npm package versions, GitHub release tags, or Python package versions.
See the parsed breakdown
Instantly see MAJOR, MINOR, PATCH, pre-release identifier, and build metadata split out clearly.
Compare two versions
Enter two version strings to get a definitive result: which is greater, lesser, or equal.
Common Version Patterns
| Version | What It Means |
|---|---|
| 1.0.0 | First stable release — production ready |
| 2.0.0 | Breaking API change — MAJOR bump |
| 1.3.0 | New backwards-compatible feature — MINOR bump |
| 1.2.7 | Bug fix only — PATCH bump |
| 1.0.0-alpha.1 | Pre-release: alpha stage, not stable |
| 1.0.0-beta.3 | Pre-release: beta, feature-complete but unpolished |
| 1.0.0-rc.1 | Release candidate — last step before stable |
| 2.1.0+build.20241005 | With build metadata (ignored in precedence) |
Click any row to load it into the validator above.
What Is Semantic Versioning?
Semantic Versioning (SemVer) is a versioning convention defined at semver.org that uses three numbers: MAJOR.MINOR.PATCH. A MAJOR increment signals a breaking change, MINOR signals a new backwards-compatible feature, and PATCH signals a backwards-compatible bug fix.
Pre-release identifiers like -alpha.1, -beta.2, or -rc.1 indicate versions that are not yet stable. In precedence order, a pre-release version is always lower than its release: 1.0.0-alpha < 1.0.0.
Build metadata (appended with +) is ignored when determining version precedence — two versions that differ only in build metadata are considered equal.
SemVer is used by npm, PyPI, Cargo, RubyGems, and most modern package managers. The ^ and ~ range operators in package.json are based on semver precedence rules.