UUID Decoder / Inspector
Paste any UUID and read its version, variant and embedded timestamp — every notation accepted, entirely on this device.
The breakdown appears here when you paste a UUID.
The JSON breakdown appears here after you paste a UUID.
Press ? for shortcuts
Do it offline:$ uuidparse 6ba7b810-9dad-11d1-80b4-00c04fd430c8
How to use it
- Paste or type a UUID; whitespace is trimmed and the lowercase, UPPERCASE, bare, {braces} and urn:uuid: forms are all accepted.
- Read the rail top to bottom: version and variant first, then any timestamp, clock sequence and node, then the 128-bit integer.
- A v1, v6 or v7 value shows its extracted time in UTC beside epoch milliseconds; other versions show no time row, because they encode none.
- Copy any field on its own, or take the whole breakdown as JSON — your input is only read, never rewritten.
Paste a UUID in any notation — canonical, uppercase, bare hex, {braces} or urn:uuid: — and this page reads it back: which version and variant it carries, the embedded timestamp when one exists, the clock sequence, node and the full 128-bit integer. Every notation resolves to the same canonical value, and the whole decode happens in this tab. Nothing you paste is uploaded.
How it works
A UUID is 128 bits shown as 32 hexadecimal digits in the 8-4-4-4-12 pattern. Two nibbles are structural, not data: the version at the 15th character and the variant at the 20th character. Read those two and the rest follows.
The variant nibble's leading bits sort a value into four families: 0xxx legacy NCS, 10xx the RFC 9562 standard, 110x Microsoft GUIDs, 111x reserved. Only 10xx carries an RFC version and timestamp; the others are still decoded and marked non-RFC.
Three versions embed a clock. Versions 1 and 6 count 100-nanosecond intervals since the Gregorian epoch of 1582; version 7 stores Unix milliseconds in its leading 48 bits. Versions 3, 4 and 5 hold no time — 4 is random, 3 and 5 are name hashes.
Examples
6ba7b810-9dad-11d1-80b4-00c04fd430c8canonical 6ba7b810-9dad-11d1-80b4-00c04fd430c8
version Version 1 — Gregorian time-based
variant RFC 9562 (standard) · 10xx
timestamp 1998-02-04T22:13:53.151Z
epoch ms 886630433151
raw ticks 131059232331511824
clock seq 180
node 00:c0:4f:d4:30:c8
integer 143098242404177361603877621312831893704
note This is a well-known RFC 9562 §6.6 namespace UUID.RFC 9562's DNS namespace: a version-1 value whose 1998 timestamp, clock sequence and 48-bit node all decode, flagged as a known namespace.
f47ac10b-58cc-4372-a567-0e02b2c3d479canonical f47ac10b-58cc-4372-a567-0e02b2c3d479
version Version 4 — Random
variant RFC 9562 (standard) · 10xx
integer 324969006592305634633390616021200786553Version 4 is 122 random bits with no structure to mine, so no time row appears.
018bcfe5-6800-7abc-8def-0123456789abcanonical 018bcfe5-6800-7abc-8def-0123456789ab
version Version 7 — Unix-epoch time-based
variant RFC 9562 (standard) · 10xx
timestamp 2023-11-14T22:13:20.000Z
epoch ms 1700000000000
integer 2055173893345449203926689683893356971The hero case: version 7 leads with Unix milliseconds, so 1700000000000 reads straight back as an exact UTC instant.
00000000-0000-0000-0000-000000000000canonical 00000000-0000-0000-0000-000000000000
version Nil UUID
integer 0
note Nil UUID (RFC 9562 §5.9) — all 128 bits are zero; version and variant fields carry no meaning.Every bit is zero, so it is reported as Nil rather than a fabricated version-0 NCS value.
ffffffff-ffff-ffff-ffff-ffffffffffffcanonical ffffffff-ffff-ffff-ffff-ffffffffffff
version Max UUID
integer 340282366920938463463374607431768211455
note Max UUID (RFC 9562 §5.10) — all 128 bits are one; it is not a versioned UUID.The all-ones counterpart, flagged as Max instead of a bogus version-15 future value.
URN:UUID:F47AC10B-58CC-4372-A567-0E02B2C3D479canonical f47ac10b-58cc-4372-a567-0e02b2c3d479
version Version 4 — Random
variant RFC 9562 (standard) · 10xx
integer 324969006592305634633390616021200786553The same version-4 value in uppercase urn:uuid: form decodes to an identical rail — notation and case are presentation, not identity.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Nil and Max are named, not guessed
The all-zero Nil (RFC 9562 §5.9) and all-ones Max (§5.10) carry no version or variant, so the inspector reports them by name rather than reading meaning into their nibbles.
v1 and v6 tick every 100 nanoseconds
Their 60-bit clock counts 100-nanosecond intervals from 1582. A millisecond holds ten thousand such ticks, so the raw count is kept beside the timestamp — the sub-millisecond tail would be lost otherwise.
A v1 node is often random, not a MAC
RFC 9562 lets a generator set the multicast bit and randomise the node instead of using a hardware address. When that bit is set the inspector says so, so the node is not misread as a leak.
Random and hash UUIDs have no birth time
Version 4 is random; versions 3 and 5 hash a name. None records when it was made, so no creation time can be recovered from the bytes.
Microsoft and legacy GUIDs still decode
A GUID whose variant bits are 110x — common in COM — is not an RFC UUID, yet its structure is still shown and marked non-RFC, so no version or timestamp is read into it.
Common errors
Not a valid UUID — expected 32 hex digits in the 8-4-4-4-12 form (canonical, uppercase, bare, {braces} or urn:uuid:).- It fires when the text is not a UUID in any accepted notation — the wrong digit count, a stray character or a half-pasted value. Your input is left exactly as typed so the one bad character is easy to find.
Input is larger than the 4 KB limit for this inspector — a UUID is at most 45 characters. Decode in a shell instead: uuidparse <uuid>- A UUID reaches 45 characters at most in its longest notation, so anything past four kilobytes is refused whole rather than scanned. For a large file of identifiers a shell is the right tool, and the banner names one.
FAQ
Can I get the creation time from any UUID?
No. Only versions 1, 6 and 7 embed a timestamp; version 4 is random and versions 3 and 5 are hashes. Paste a time-based version and the inspector shows the instant with its epoch milliseconds; for the rest it reports that no time is present.
What is the UUID variant field?
A short run of leading bits in the 20th character that marks which family a value belongs to. RFC 9562 defines four — NCS at 0xxx, the standard 10xx, Microsoft at 110x and a reserved 111x. The rail shows the family beside the raw bits.
Is the Nil UUID a real UUID?
Yes. RFC 9562 §5.9 defines the Nil UUID as thirty-two zeros, a legitimate value used to mean absent or unset. It carries no version or variant meaning, so the inspector labels it Nil rather than treating its zero nibbles as data.
Keyboard shortcuts
- ⌘/Ctrl + Enter
- Decode the current input again.
- ⌘/Ctrl + S
- Save the breakdown as a .json download instead of the web page.
- ⌘/Ctrl + C
- Copy the JSON breakdown when nothing is selected; a live selection copies itself.
- ⌘/Ctrl + Shift + C
- Force-copy the JSON breakdown whether or not text is selected.
- t
- Cycle the theme; works outside text inputs and obeys the single-key kill switch.
- ? or ⌘/Ctrl + /
- Open the shortcut help dialog.
- Esc
- Close the top overlay; focus returns to its opener.