Paste a UUID to inspect RFC 9562 semantics, timeline payload, and storage-routing guidance.
| Field | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Segment | Hex | Binary | Detail | Copy |
|---|---|---|---|---|
| {{ segment.label }} | {{ segment.hex }} | {{ segment.binary }} | {{ segment.detail }} |
UUIDs are meant to stay unique across systems, but they are not self-explanatory. The same 128-bit value may appear with hyphens, braces, uppercase letters, or a URN prefix, and the bits inside can describe a time-bearing identifier, a mostly random identifier, a name-based identifier, or a reserved sentinel. If you treat all of those families as interchangeable, it becomes easy to make the wrong call about sorting, logging, privacy, or API compatibility.
This decoder turns one UUID token into a readable breakdown. It normalizes the input into common text forms, identifies the version and variant, reconstructs timestamps for the families that carry them, shows the clock sequence and node tail, and then packages the result as a summary snapshot, a decoded ledger, a bit-lane table, a signal-allocation chart, routing notes, and JSON.
That makes the tool useful in practical situations that are easy to confuse by eye. A database team can check whether a sample key is time-ordered or randomness-first. An incident responder can see whether a token carries timestamp clues worth preserving. An API team can confirm that canonical, braced, URN, uppercase, and dashless strings all describe the same underlying UUID before arguing about transport format.
The result should still be read as structural evidence, not as proof of system behavior. A decoded timestamp does not guarantee exact event time, a version 4 label does not prove strong randomness, and a visible node tail does not prove that a hardware MAC address was exposed. The page tells you what the bits say and how that layout is usually interpreted.
The parser accepts the text shapes people commonly encounter in logs and documentation. Canonical lowercase with hyphens, uppercase text, brace-wrapped GUID-style input, URNs that begin with urn:uuid:, and compact 32-digit hex strings are all normalized into one canonical value. If several non-empty lines are pasted, the decoder keeps the first token and reports the rest as ignored instead of trying to guess at batch behavior.
The first structural check is the variant field, which comes from the high bits of octet 8 and determines which layout family applies. The version nibble then identifies the generation family inside the mainstream 10xx layout. That is why the page can tell apart a modern version 7 token, a random version 4 token, a name-based version 5 token, a DCE Security version 2 token, or a custom version 8 token even when the visible text formatting is identical. If you enable strict variant mode, the decoder accepts only the mainstream RFC 4122 / RFC 9562 variant and rejects other compatibility spaces.
v1 / v2 / v6 -> 60-bit Gregorian timestamp in 100-ns ticks
v7 -> 48-bit Unix timestamp in milliseconds
v3 / v4 / v5 / v8 -> no standard timestamp payload to reconstruct
| UUID family | Time signal | What the tool surfaces | Best first reading |
|---|---|---|---|
| 1, 2, 6 | Gregorian epoch, 100-ns ticks | Decoded timestamp, clock sequence, node tail, node flags, full segment map | Legacy or reordered time-based families that can reveal ordering and more structural detail than random UUIDs |
| 7 | Unix epoch, milliseconds | Decoded timestamp plus rand_a and rand_b random segments |
Modern time-ordered family where chronology and randomness are intentionally mixed |
| 3, 5 | None | Version family label, variant, fixed-position segment view, structural exports | Name-based families; the page identifies the family but does not reconstruct the original namespace and name input |
| 4 | None | Random-family label, variant, clock sequence field view, node-tail field view | Randomness-first identifier with no embedded creation time |
| 8 | Producer-defined | Custom-family label plus generic structural rows | Application-defined UUID where the visible layout is real but the deeper semantics depend on the producer |
Time-aware handling is version-specific. For versions 1, 2, and 6, the decoder rebuilds a 60-bit Gregorian timestamp, then renders it as UTC ISO 8601, local ISO 8601, Unix seconds, or Unix milliseconds depending on your chosen display mode. For version 7, it reads the most significant 48 bits as a Unix millisecond timestamp and breaks out the remaining random sections separately. For version 2, the page stays conservative: it identifies the DCE Security family, but it does not try to invent extra POSIX field meaning beyond what this decoder actually parses.
The tool also exposes the 14-bit clock sequence and the final 48-bit tail from their fixed positions in the UUID, then labels the tail's local and multicast flags. That is useful for audits because it shows when a value looks like a legacy time-based UUID with host-style structure. It is also where overconfidence becomes risky. The standard allows randomized node values, and current guidance discourages treating the node as a trustworthy hardware identity by default.
Core decoding happens in your browser. Clipboard actions, CSV downloads, DOCX exports, image downloads, and JSON export all work from the interpreted result already present on the page. The one network-related exception is the signal-map chart: if its charting script is not already loaded when you open that tab, the page fetches it from a public CDN before rendering the visualization.
Start with the summary snapshot and the Decoded Ledger. They answer the fastest practical question: what kind of UUID am I looking at? The page collapses that into a routing posture. Index-friendly UUID means version 6 or 7. Entropy-first UUID means version 4. Reserved token UUID marks Nil or Max. Legacy/interoperability UUID covers the older or compatibility-oriented families. That headline is a shortcut for what to investigate next, not a substitute for the detailed rows below it.
The representation selector is mainly for communication. Switching from canonical to uppercase, braced, URN, or compact form does not change the UUID. It only changes which representation is emphasized in badges, tables, and JSON. That is useful when the same identifier has to be copied into different systems that prefer different text conventions.
The timestamp display matters only when the UUID family actually carries time. Use UTC when you are correlating events across systems. Use local time when you are matching a UUID against a human-facing incident report. Use Unix seconds or milliseconds when you need to compare the embedded value against telemetry, database columns, or code that records timestamps numerically.
Strict variant mode and the guidance profile are the two controls that change how strongly the page frames the result. Strict mode is appropriate at ingestion boundaries where only the mainstream variant should be accepted. The guidance profile leaves the decode itself unchanged, but it rewrites the recommendations for storage, forensics, or interoperability work. That makes the same structural result easier to reuse across different reviews.
Open UUID Signal Map when you need to explain the layout to someone else quickly. Open Bit Lanes when you need the exact hex and binary segments. Use Routing Notes when you want plain-language implications. Use JSON when the decoded state needs to move into a ticket, script, or case record without retyping.
Decoded Ledger for normalized forms and field values, then Bit Lanes if you need the exact segment-by-segment breakdown.UUID Signal Map for quick visual explanation, or Routing Notes when you need the page to summarize storage, forensics, or interoperability implications.The version row tells you whether the UUID can say anything about ordering or time at all. Versions 6 and 7 are the most useful when storage order matters. Versions 1 and 2 still carry time, but they belong to older families with extra compatibility baggage. Versions 3 and 5 are deterministic name-based families. Version 4 is mostly about random or pseudorandom uniqueness. Version 8 signals that the surrounding application defines the deeper meaning.
| Variant bits | Tool label | What it means in practice |
|---|---|---|
0xxx |
Variant 0 | Older NCS compatibility space. Nil UUID lives here, so a zero-filled token is a valid sentinel without being a mainstream variant-1 UUID. |
10xx |
Variant 1 | Mainstream RFC layout. This is the family most modern version labels assume. |
110x |
Variant 2 | Microsoft compatibility space. A token can still look UUID-shaped while sitting outside the mainstream variant-1 family. |
111x |
Variant 3 | Future-reserved space. Max UUID lives here, which is why an all-ones token is called out separately as a boundary marker. |
A decoded timestamp should be read as payload, not as courtroom-grade truth. The UUID standard itself allows implementation choices around timestamp sourcing, clock corrections, and monotonic handling. That means the page can faithfully decode the embedded time while the producing system may still have rounded, adjusted, or otherwise managed the original clock value.
Clock sequence and node rows are also clues rather than proof. They are especially informative in older time-based families because they show how the identifier layout reserved uniqueness space beyond the timestamp itself. At the same time, the node bits may be randomized, synthesized, or privacy-hardened. The local and multicast flags are most useful as warning signs against over-reading the tail as a literal device identity.
The Nil and Max badges deserve special attention because they often signal application intent rather than ordinary identity. Nil commonly means "no value here yet." Max often means an upper bound or end marker. If one of those appears in logs or APIs, the right question is usually about sentinel handling, not uniqueness.
A team considering new database keys pastes a sample UUID and sees Version 7 together with an Index-friendly UUID posture. The timestamp rows appear, the signal map shows a large time slice at the front, and the random sections are broken out separately. That is the quick confirmation that the family was chosen for chronological ordering, not just uniqueness.
An old service emits a token that turns out to be Version 1. The decoder shows a reconstructed timestamp, a clock sequence, a node tail, and node flags. That does not automatically mean a real MAC address leaked, but it does show that the UUID family carries more embedded structure than a version 4 token and may deserve extra care in logs, exports, or shared incident evidence.
A CSV export contains an all-zero or all-F value in a UUID column. The page immediately marks it as Nil UUID token or Max UUID token. That stops the review from treating a sentinel as a real record identifier and usually sends the investigation toward initialization logic, range handling, or placeholder records instead.
No. The page processes the first non-empty line and reports how many extra lines were ignored.
No. It changes only which text form is emphasized in the visible output.
No. It means the UUID belongs to the random family. This decoder does not test generator quality, entropy strength, or predictability.
Not safely. The field may come from hardware in some legacy cases, but it may also be randomized or synthesized. Use the node flags as context, not as proof.
Because text shape alone is not enough. A token can still be 128 bits of valid hex while belonging to a non-mainstream variant family.
Core decoding stays in the browser. The chart tab may fetch its charting script from a public CDN before drawing the signal map.
urn:uuid:... that wraps the same UUID value.