Cryonel

UUID Generator & Validator

Generate random (v4), time-ordered (v7 or v1), or name-based (v3/v5) unique identifiers — or paste an existing UUID to validate it and decode its version, variant, and embedded timestamp.

Name-Based (v3 / v5)

Validate / Decode

How to use it

v7 and v1 encode a timestamp so they sort roughly by creation order — v7 is the modern, recommended choice (RFC 9562). v4 is fully random. v3/v5 are deterministic: the same namespace + name always produces the same UUID, which is useful for generating stable IDs from external identifiers like a URL or domain name. Paste any UUID into the validator to check its format and decode its version/variant/timestamp.

Choose a UUID version by behavior

Use v4 when an unpredictable random identifier and broad interoperability are the main requirements. Use v7 when approximate creation order is useful for database locality or log inspection without maintaining a central counter. Existing systems may require v1 for compatibility. Use v5, or v3 only for legacy compatibility, when the same namespace and exact name must always produce the same identifier. Version choice does not replace a database uniqueness constraint.

Time-ordered does not mean perfectly sequential

A v7 identifier includes a time component, so identifiers generated at clearly different times usually sort in creation order. Multiple identifiers created within the same timestamp interval still depend on their remaining bits, and clocks can move backward or differ between machines. Do not use lexical UUID order as the only source of event ordering when the business process needs a strict sequence. Store an authoritative event time or sequence alongside the ID.

Name-based UUID inputs must be stable

For v3 and v5, the namespace and name bytes define the result. Case changes, whitespace, URL normalization, Unicode normalization, or choosing a different namespace creates a different UUID. Define those rules in the data contract before generating IDs in more than one service. A deterministic UUID can reveal that two records came from the same input, so avoid feeding secrets or unnecessary personal data into a name-based scheme.

Store and validate identifiers

Many databases provide a native UUID type that validates format and stores the 128-bit value more efficiently than a text column. If text storage is required, keep one canonical representation and compare case-insensitively where the platform treats hexadecimal case as equivalent. Parsing a UUID here checks its visible structure, variant, and version information; it does not prove who generated it, that it exists in your system, or that the associated record is authorized.

Security and collision handling

UUIDs are identifiers, not access-control tokens. Do not grant access merely because someone knows or guesses one, and do not place sensitive objects behind an unprotected UUID URL. Properly generated random UUID collisions are extremely unlikely, but applications should still enforce uniqueness and retry generation if an insert conflicts. Generated and parsed values stay in this browser tab and are not uploaded to Cryonel.

Frequently Asked Questions

Which version should I use?

Default to v7 for new systems — it's unpredictable enough for most needs while sorting by creation time, which is friendlier to database indexes than v4. Use v4 when you specifically don't want any information (including approximate creation time) encoded. Use v3/v5 when you need the same input to always produce the same UUID.

v3 vs v5 — which one?

They're the same algorithm with different hashes: v3 uses MD5, v5 uses SHA-1. Prefer v5 — MD5 is kept only for backward compatibility with older v3 UUIDs.

Are generated UUIDs guaranteed to be unique?

In practice, yes — for v4/v7 the probability of a random collision is statistically negligible.

Guides

Related Tools