Back to Developer
UUID parser — version, variant, timestamp

UUID parser — version, variant, timestamp

Paste a UUID and inspect its version (v1–v8 / Nil / Max), variant (RFC 9562 / Microsoft / legacy NCS), canonical / compact / braced / URN forms, integer (BigInt), and raw bytes — all at once. UUID v1 and v6 expose the embedded timestamp + node MAC, and UUID v7 reveals the Unix epoch ms used as the prefix. Braces, whitespace, the urn:uuid: prefix, and mixed case are normalized automatically. Nothing leaves the browser.

developerdecode

How to use

Paste a UUID and the page parses it instantly. Canonical, hyphen-less, braced ({}), and urn:uuid: forms are all accepted; case and surrounding whitespace are normalized automatically. Two top-of-page badges show version (v1–v8 / Nil / Max) and variant (RFC / Microsoft / NCS / reserved). Alternate forms (canonical, uppercase, hyphen-less, braced, URN, integer) sit in a copyable table. For v1/v6 you also get the node MAC and the embedded timestamp + clock_seq; for v7 the Unix epoch milliseconds embedded in the upper 48 bits are extracted. The Sample button cycles through v4 / v1 / v7 / Nil examples.

FAQ

Is the UUID I paste sent anywhere?
No. Parsing, timestamp decoding, and MAC extraction all happen inside your browser.
Can I recover the original name from a v3 or v5 UUID?
No. v3 (MD5) and v5 (SHA-1) are one-way hashes — the input name is not mathematically reversible. Only the version and namespace can be identified.
Is the MAC inside a v1 UUID always a real hardware MAC?
If the first byte of the node has the multicast bit set, it indicates a randomly generated node rather than a true hardware MAC. A unicast (cleared multicast bit) value may be a real MAC. Modern libuuid / uuidgen typically choose a random node.
Will it accept braced or whitespaced GUIDs?
Yes. The classic Microsoft `{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}` form, an `urn:uuid:` prefix, and interspersed whitespace / tabs / newlines are all stripped automatically.
What are Nil and Max UUIDs?
Nil is the all-zero UUID (00000000-0000-0000-0000-000000000000), conventionally used as the 'unassigned' marker. Max is all-ones (ffffffff-ffff-ffff-ffff-ffffffffffff), used as a sentinel upper bound. Both are formally defined by RFC 9562.
Any versions that aren't fully supported?
v2 (DCE Security) has a non-standard timestamp layout, so the embedded clock isn't decoded. All other versions 1–8 are identified, and timestamp-bearing forms (v1, v6, v7) display ISO 8601, Unix epoch ms, and a relative time.

Related tools