No Login Data Private Local Save

Semantic Versioning Validator - Online Check Semver Syntax

7
0
0
0
Semver 2.0.0

Semantic Versioning Validator

Validate and parse version strings against the Semantic Versioning 2.0.0 specification. Instantly check MAJOR.MINOR.PATCH syntax, pre-release labels, and build metadata.

Version Breakdown
Quick Examples — click to test:
Results:
# Version Status Details

Frequently Asked Questions

Semantic Versioning is a versioning scheme that uses a three-part version number: MAJOR.MINOR.PATCH. It communicates the nature of changes in a release — MAJOR for breaking changes, MINOR for backward-compatible new features, and PATCH for backward-compatible bug fixes. Optional pre-release labels (e.g., -alpha.1) and build metadata (e.g., +20240101) can be appended. The full specification is at semver.org.

Each numeric identifier must be a non-negative integer without leading zeros. Valid examples: 0.0.1, 1.0.0, 2.15.3. Invalid examples: 01.0.0 (leading zero), 1.0 (missing PATCH), 1.0.0.0 (extra segment). The numbers can be arbitrarily large — there is no upper limit in the spec.

Yes. A pre-release suffix starts with a hyphen (-) followed by dot-separated identifiers. Each identifier may contain alphanumeric characters and hyphens. Numeric-only identifiers must not have leading zeros. Valid: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92. Invalid: 1.0.0-alpha..1 (empty identifier), 1.0.0-00abc (leading zeros in numeric part).

Build metadata is appended with a plus sign (+) and consists of dot-separated identifiers using alphanumeric characters and hyphens. It is ignored when determining version precedence. Valid: 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85. Build metadata can be combined with pre-release: 1.0.0-rc.1+build.2024.

No. Strict Semantic Versioning does not include a "v" prefix. While "v1.0.0" is commonly used in Git tags and by many package managers as a convention, the semver specification itself defines the version string as starting directly with the MAJOR number. Our validator flags the "v" prefix as invalid per the strict spec — simply remove the "v" for a valid semver string.

MAJOR bump (e.g., 1.x.x → 2.0.0): When you make incompatible API changes. Reset MINOR and PATCH to 0.
MINOR bump (e.g., 1.3.x → 1.4.0): When you add backward-compatible functionality. Reset PATCH to 0.
PATCH bump (e.g., 1.3.2 → 1.3.3): When you make backward-compatible bug fixes. Only increment PATCH.
For pre-release, use labels like -alpha, -beta, -rc.1 before the final release.

Common mistakes include: leading zeros (01.0.0), missing PATCH (1.0), "v" prefix (v1.0.0), empty pre-release identifiers (1.0.0-alpha..1), extra segments (1.0.0.0), spaces within the version string, and invalid characters in identifiers. Use our online validator to catch these instantly — it follows the official semver.org regex pattern.

Yes. npm, Maven, Composer, PyPI, RubyGems, and most modern package managers follow Semantic Versioning (or a close subset). This validator checks against the official Semver 2.0.0 specification, which is the foundation for all these ecosystems. Note that some tools allow additional range syntax (like ^1.0.0 or ~1.0.0) — those are version ranges, not individual version strings, and are not covered by this validator.