UUID Validator & Decoder
Paste any UUID below. We'll tell you the version, the variant bits, and — for v1 and v7 — extract the timestamp it was generated at.
What this tool decodes
- Version — v1, v3, v4, v5, v6, v7, v8, plus nil and max UUIDs.
- Variant — the 1–3 bits that say "this is an RFC 4122/9562 UUID" (vs. legacy NCS or Microsoft variants).
- Embedded time — for v1 (100ns ticks since 1582) and v7 (Unix milliseconds), converted to ISO and human-readable.
- Standard namespaces — recognizes the four well-known DNS / URL / OID / X.500 namespace UUIDs from RFC 4122.
Use cases
The validator is most useful for:
- Debugging logs — when did this v7 UUID get created? (~timestamp tells you.)
- Audit trails — confirm a UUID is the version you expect (e.g. v4, not v1 with a leakable node ID).
- Migrations — verify an imported UUID set is well-formed before inserting.
- Forensics — given a v1 UUID, recover its generation time even years later.
How the decode works
Version (4 bits at position 48)
The first hex digit of the third group — e.g. the 4 in
aaaaaaaa-bbbb-4ccc-dddd-eeeeeeeeeeee — is the
version. RFC 9562 defines versions 1, 3, 4, 5, 6, 7, 8.
Variant (top 1–3 bits of the 17th hex digit)
The first hex digit of the fourth group — e.g. the a (binary
1010) in ...-a716-... — encodes
the variant. 10xx means RFC 4122/9562, the variant ~every
real UUID uses today.
v1 timestamp
v1 splits a 60-bit timestamp across the first three groups (with the most significant bytes last, which is one reason v1 doesn't sort chronologically). The validator reassembles them, converts the 100-nanosecond intervals from the 1582 epoch to Unix milliseconds, and formats the result.
v7 timestamp
v7 puts a 48-bit Unix-millisecond timestamp at the very start, in the natural byte order. The validator just reads the first 12 hex characters and converts.
Privacy
Everything happens client-side. Your UUID is parsed in JavaScript in your browser; no network request is made when you paste. You can paste production UUIDs without leaking anything to us.
FAQ
Is my UUID sent anywhere?
No. Validation runs entirely in your browser. The page never opens a network connection while you paste — open DevTools → Network and verify.
What forms does it accept?
Canonical hyphenated (aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee), no-hyphens (aaaaaaaabbbbccccddddeeeeeeeeeeee), and braced ({aaaaaaaa-...}). Case is normalized automatically.
What does 'variant' mean?
The variant is 1–3 reserved bits at position 64 that say which UUID specification the value belongs to. RFC 4122 / 9562 is the variant you'll see ~always; older NCS values exist but are vanishingly rare. Microsoft's reserved variant covers some legacy GUIDs.
It says 'embedded time' — does every UUID have a timestamp?
Only v1 and v7 do. v4 is purely random. v3 and v5 are deterministic hashes. The validator only shows a timestamp when the UUID's version is one that encodes time.
Why does the v1 timestamp look weird?
v1 measures 100-nanosecond intervals since 1582-10-15 (the start of the Gregorian calendar), not 1970. The validator does the conversion to Unix time for you.
Can I paste a GUID from C# / SQL Server?
Yes — the canonical hex string is the same in both worlds. The byte-order difference between RFC 4122 and Microsoft's binary GUID format only matters when reading raw 16-byte buffers (see UUID vs GUID). Hex strings move freely.