Validation/UUID Validator

UUID Validator

Version and variant detection

Checks structure only — any well-formed UUID passes.
UUID — input
Paste a UUID to inspect it.

A UUID has a fixed shape — eight hex digits, then three groups of four, then twelve, separated by hyphens — but the format alone does not tell you what kind of identifier you are holding. Two specific positions do: the first digit of the third group gives the version, and the first digit of the fourth encodes the variant.

Those two nibbles are worth reading. The version tells you how the value was produced, which in turn tells you whether it is random, derived from a name, or ordered by time. The variant tells you whether the value follows the RFC layout at all — plenty of identifiers that look like UUIDs are simply 32 random hex digits with hyphens inserted.

How to use it

  1. Paste the identifierBraces, upper case and a missing hyphen are all tolerated for the purposes of checking, so you can paste a value straight from a log or a database column.
  2. Read the version and variantThe version says how it was generated; the variant confirms it follows the RFC layout rather than merely resembling one.
  3. Extract the timestamp if there is oneVersions 1, 6 and 7 embed a creation time, which is shown decoded — useful for working out when a record was created when nothing else recorded it.

Frequently asked questions

How do I tell which version a UUID is?

Look at the first character of the third group. In 3f2504e0-4f89-41d3-9a0c-0305e82c3301 that is the 4 in 41d3, so it is version 4. The version digit is fixed by the specification, which is why it is a reliable indicator rather than a convention.

What does the variant field tell me?

It says which layout the remaining bits follow. The first character of the fourth group being 8, 9, a or b indicates the standard RFC variant. Anything else means either a legacy Microsoft layout or, far more often, that the value is random hex formatted to look like a UUID.

Is a UUID case-sensitive?

No. The specification says to output lower case but to accept either on input, so the same value in upper case is the same UUID. It becomes a problem when a system compares them as strings — storing mixed case in a text column produces duplicates that are not duplicates.

What are versions 1, 3, 5 and 6 for?

Version 1 combines a timestamp with the MAC address of the generating machine, which makes it sortable and mildly privacy-leaking. Versions 3 and 5 are deterministic, hashing a namespace and a name with MD5 and SHA-1 respectively, so the same input always yields the same UUID. Version 6 reorders version 1 so it sorts correctly as a string.

Can I recover the creation time from a UUID?

From versions 1, 6 and 7, yes — the timestamp is embedded and can be read by anyone. From version 4 there is nothing to recover, because it is random throughout. That is a genuine consideration when identifiers are public: a v7 UUID discloses exactly when the record was created.

Related tools

  • UUIDv4 and v7 identifiers, single or in bulk
  • Unix TimestampEpoch seconds and milliseconds to ISO dates
  • HashSHA-1, SHA-256 and SHA-512 digests
  • String InspectorCode points, encodings and invisible characters
Nothing left this tab. No request was made, no history was written. Validation · UUID Validator