How to Parse Semantic Versions
SemVer Parsing
When to Parse Versions
Break apart version strings from package.json, Git tags, or release notes into major, minor, patch, pre-release, and build metadata components. Useful for automation scripts, changelog generators, and debugging why a semver range did not match an installed version.
Parsed Components
Input like 2.4.1-beta.3+build.42 splits into major 2, minor 4, patch 1, pre-release beta.3, and build metadata build.42. Invalid strings report parse errors with guidance on expected format.
Developer Tips
- Leading v prefix (v1.2.3) is typically stripped during parsing
- Validate version strings before using in Compare or Bump operations
- Document pre-release naming conventions in your team release playbook
Frequently asked questions
Is the v prefix required?
No. Both 1.2.3 and v1.2.3 are accepted. The v prefix is stripped during parsing.
What makes a version invalid?
Non-numeric major/minor/patch segments, missing components, or malformed pre-release labels fail parsing.