UUID Decode Snapshot
{{ versionLabel }}
{{ variantSummary }}
{{ badge.label }}

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 }}
Recommendation Track
  1. {{ note }}

                
:

Introduction

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.

UUID decoder reading path The page accepts common UUID text forms, normalizes them into one canonical 128-bit value, checks variant and version bits, and then exposes timestamp, sequence, node, chart, and export views. Input forms canonical braced / uppercase URN / 32 hex digits Normalized value 1 canonical UUID 16 bytes same bits, new views Variant check 0xxx / 10xx / 110x / 111x Version check 1 through 8 family meaning Outputs timestamp bit lanes routing notes chart and JSON Nil and Max are called out separately so sentinels do not look like ordinary IDs.
The page separates text presentation from UUID structure. That keeps formatting differences from being mistaken for different identifiers.

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.

Technical Details

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.

Timestamp Rule

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

How the decoder treats different UUID families
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.

Everyday Use & Decision Guide

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.

Step-by-Step Guide

  1. Paste one UUID token in any supported text form, including canonical, uppercase, braced, URN, or compact hex.
  2. Read the summary snapshot first so you can see the version family, variant label, routing posture, and any Nil or Max warning before opening deeper tabs.
  3. If the UUID is time-aware, choose the timestamp display that best matches the evidence you are comparing against.
  4. Open Decoded Ledger for normalized forms and field values, then Bit Lanes if you need the exact segment-by-segment breakdown.
  5. Use UUID Signal Map for quick visual explanation, or Routing Notes when you need the page to summarize storage, forensics, or interoperability implications.
  6. Copy or export only the artifact you actually need: table CSV, table DOCX, chart image or CSV, or full JSON.

Interpreting Results

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 patterns and how to read them
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.

Worked Examples

Checking whether a primary key family is storage-friendly

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.

Reviewing a legacy identifier that may expose more structure than expected

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.

Spotting a boundary marker before it pollutes an audit

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.

FAQ

Can I decode several UUIDs at once?

No. The page processes the first non-empty line and reports how many extra lines were ignored.

Does changing the preferred representation change the UUID itself?

No. It changes only which text form is emphasized in the visible output.

Does version 4 mean the UUID is secure?

No. It means the UUID belongs to the random family. This decoder does not test generator quality, entropy strength, or predictability.

Can the node field be treated as a real MAC address?

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.

Why can strict variant mode reject a token that still looks well-formed?

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.

Does the page send my UUID anywhere?

Core decoding stays in the browser. The chart tab may fetch its charting script from a public CDN before drawing the signal map.

Glossary

UUID
A 128-bit identifier format used to label records, objects, or events without relying on a central counter.
Variant
The high-bit pattern that decides which UUID layout family applies.
Version
The 4-bit family marker inside the mainstream UUID layout.
Clock sequence
A 14-bit field used by time-based families to help avoid collisions when timestamps alone are not enough.
Node
The final 48 bits of the classic UUID layout, historically associated with host identity but not safe to treat as hardware proof by default.
Nil UUID
The all-zero UUID, commonly used as a sentinel for "no value."
Max UUID
The all-ones UUID, often used as an upper-bound or end marker.
URN
A Uniform Resource Name representation such as urn:uuid:... that wraps the same UUID value.