Dev
Semantic Version Generator
Filling a version field in documentation, fixtures, or tests almost always means typing `1.0.0` every time, which is not representative. This tool returns a shuffled set of valid semantic version strings covering stable releases, pre-releases, and build-metadata forms. The only input is how many you want, from 1 to 10 (14 in the pool). The set includes stable releases like `2.3.1` and `4.12.0`, pre-releases like `0.9.0-alpha.1`, `1.4.0-beta.2`, and `3.0.0-rc.1`, versions with build metadata like `1.2.3+build.456`, a canary `2.5.0-canary.8`, and a snapshot `0.0.1-snapshot`. Every string conforms to the SemVer 2.0.0 specification. Drop them into a changelog, a `package.json`, or a test fixture for version-comparison logic.
How to use
- Choose your options above
- Click Generate
- Copy your result
Detailed instructions
- Choose how many versions you want.
- Generate a set covering the formats you need.
- Drop them into a changelog, manifest, or test.
- Adjust the numbers to match your release.
Use Cases
- •Filling version fields in docs or fixtures
- •Mocking a package manifest or changelog
- •Teaching how semantic versioning works
- •Testing version-parsing or sorting code
- •Referencing valid pre-release and build formats
Tips
- →Bump MAJOR only for breaking changes.
- →Use pre-release tags like -rc.1 before a final release.
- →Remember build metadata does not affect ordering.
- →Keep versions sortable by following the spec exactly.
FAQ
what do the three version numbers mean
MAJOR.MINOR.PATCH: bump MAJOR for breaking changes, MINOR for backward-compatible new features, and PATCH for backward-compatible fixes. The optional `-prerelease` suffix and `+build` metadata add detail without changing core precedence.
do pre-release versions sort before or after the release
Before. By the SemVer spec, `1.0.0-alpha.1` has lower precedence than `1.0.0`. Pre-release identifiers are compared dot by dot, so `alpha.1` < `beta.2` < `rc.1` < `1.0.0`.
does build metadata affect version ordering
No. Build metadata after the `+` is ignored when determining precedence. `1.0.0+build.1` and `1.0.0+build.2` are considered equal in ordering by the spec, even though the metadata strings differ.
You might also like
Popular tools from other categories that share themes with this one.
Try these next
More free tools from other corners of the catalog, picked by shared themes.