Skip to main content
Dev · 283 tools

Semantic Version Generator

Generates valid semantic version numbers including pre-release and build tags

About this 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

  1. Choose how many versions you want.
  2. Generate a set covering the formats you need.
  3. Drop them into a changelog, manifest, or test.
  4. 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.