GenerateRandomSearch

UUID Inspector

A UUID is not an opaque blob. Four bits say which version it is, two or three more say which variant, and the time-based versions carry a readable timestamp. A validator that only checks the shape will happily accept a string whose version nibble says nine — which is not a version anybody has defined, and usually means the identifier was made up rather than generated.

What this generator does

Splits the identifier into its fields, reads the version and variant bits, and — for the versions that carry a timestamp — converts it into a date.

How to use this tool

  1. Paste a UUID, with or without braces, in any case.
  2. Read which version it is and what that version means.
  3. For versions 1, 6 and 7, the time inside it is written out.
  4. The variant is reported too, since a non-standard one is worth noticing.

Understanding the controls

A UUID
In any of the forms people paste: plain, in braces, as a URN, and in either case. It is tidied to lower case for the answer.

Worked examples

017f22e2-79b0-7cc3-98c4-dc0c0c07398f
Version 7, the standard variant, and a timestamp of 2022-02-22T19:22:22.000Z pulled straight out of the first 48 bits — with the remaining 74 bits reported as random rather than treated as meaningful.

Common use cases

  • Working out whether an identifier is random or time-based
  • Reading the timestamp out of a version 7 identifier
  • Checking that a UUID from a system is well-formed and a real version
  • Understanding how many bits of a UUID are actually free
  • Spotting a made-up identifier in test data

How this generator works

The fields are put back together into a string, which must match the one you pasted — if the parsing has gone wrong anywhere, the rebuilt string will not match. The version is then checked against the ones that actually exist, the variant against the standard layout, and any timestamp against a plausible range of dates.

Randomness and fairness

Nothing is random. The same identifier always reads the same way.

For how randomness is produced across the whole site, see how Generate Random works.

Limitations and good to know

  • Reading a UUID says nothing about whether it identifies anything, only about how it was constructed.
  • Versions 1 and 6 carry a node identifier which was historically a MAC address; it is not decoded here.
  • A version 7 timestamp is only as truthful as the machine that made it.
  • Versions 3 and 5 are hashes of a name, and the name cannot be recovered from them.

Privacy and your data

The identifier is read in your browser. Nothing you paste is transmitted or stored.

Frequently asked questions

Can I tell when a UUID was created from any version?
Only from versions 1, 6 and 7 — those embed an actual timestamp in defined bit positions. Version 4, by far the most common in everyday use, is 122 bits of pure randomness with no time information anywhere in it; versions 3 and 5 are hashes of a name and input, not a clock reading.
What does it mean if the version nibble isn't 1-8?
It means the string isn't a real UUID as any version currently defines it — versions run 1 through 8 (RFC 9562), so a nibble outside that range usually signals a value that was typed by hand, corrupted, or generated by something that doesn't actually implement the UUID spec, even if the rest of the string has the right shape.