UUID Decoder — Decode UUIDs to Identify Version, Variant, and Timestamp
Decode UUIDs — identify version (v1-v8), variant, extract v1/v6 timestamps and v3/v5 namespace hashes. Runs entirely in your browser.
UUID Decoder
Decode UUIDs to identify the version, variant, and for v1 UUIDs — extract the embedded timestamp and node address. Works entirely in your browser.
UUIDs are often treated as opaque identifiers — a 36-character string that is unique and nothing more. That is the right level of abstraction for most application code, but when the UUID appears in a log line, a database debugging session, or a forensic trace, the bits inside carry information that is otherwise invisible. A v1 UUID embeds the time and place of its creation down to 100-nanosecond precision and the MAC address of the generating machine. A v7 UUID embeds a Unix millisecond timestamp in the first 48 bits, making it naturally sortable by creation time. A v3 UUID is a deterministic hash of a namespace, which means two different systems that hash the same name in the same namespace will produce the same UUID — a property used for content-addressable identifiers in distributed systems.
The decoder’s value is in surfacing that hidden information. Timing bugs — two events that appear simultaneous in application logs — can be resolved by comparing the v1 node and clock sequence of their UUIDs. Data pipeline issues — a record that is always in the wrong shard — can be traced to a v7 UUID whose timestamp does not match the partition key. The nil UUID (00000000-0000-0000-0000-000000000000) appears as a sentinel value in RFC 9562, and the decoder explicitly labels it for what it is.
For a final hand-off: if you need to generate UUIDs of a specific version, the UUID Generator tool on this site produces v4 by default with optional v1 and v7 output. If the UUID came from a JWT, the JWT Decoder will confirm whether the jti (JWT ID) claim follows the UUID format. If the UUID is part of a larger data pipeline, batch-decode a list by piping each one through the tool individually — the per-field breakdown makes anomalies visible when one UUID in a thousand uses the wrong variant.
How to use
Paste a UUID string
Drop any UUID format into the input — standard hex (550e8400-e29b-41d4-a716-446655440000), uppercase, no dashes, or wrapped in curly braces. The decoder normalises and identifies the version, variant, and layout.
Read the structured breakdown
The decoder shows the UUID version (1-8), variant (DCE, Microsoft, reserved), and the meaning of each field. For time-based UUIDs v1 and v6, the embedded timestamp is extracted and displayed in UTC.
Copy the timestamp or field details
For v1 UUIDs, copy the extracted timestamp as an ISO-8601 string or a Unix epoch. For v3/v5, copy the namespace ID. For nil UUIDs (all zeros), the decoder confirms the special-case status.
Frequently asked
What information is encoded inside a UUID?
A UUID is 128 bits arranged as 32 hex digits with four hyphens. The version (bits 48-51) tells you how the UUID was generated: v1/v6 embed a MAC address and timestamp, v3/v5 embed an MD5/SHA-1 hash of a namespace, v4 is purely random, and v7 embeds a Unix timestamp in milliseconds.
Can I extract a creation timestamp from any UUID version?
Only from v1 (Gregorian epoch, 100-ns intervals since 1582-10-15), v6 (reordered v1), and v7 (Unix epoch in milliseconds). v4 UUIDs are entirely random and contain no timestamp. The decoder shows which field holds the timestamp and explains the epoch used.
What is the difference between UUID variants?
The variant (a few bits in the clock_seq field) tells you which specification the UUID conforms to. Variant 10xx (decimal 8/9/a/b in the first hex digit of the clock_seq field) is the most common and follows RFC 9562. Microsoft uses variant 110x for legacy GUIDs. The decoder identifies the variant from the raw bits.
Does the decoder work with ULID and other UUID-like identifiers?
ULID uses a different 26-character Crockford base32 encoding and is not a UUID, though it is also 128 bits. The decoder only parses standard RFC 9562 UUID formats. For ULIDs, use a ULID-specific tool.
Limitations
- v1 MAC address may be anonymisedModern UUID libraries often randomise the node field in v1 UUIDs for privacy, so the extracted 'MAC address' may be a random 48-bit value. The decoder shows the bits but cannot distinguish a real MAC from a randomised one.
- No reverse-namespace lookupv3 and v5 UUIDs are hashes of a namespace + name. The decoder shows the namespace UUID and hash method but cannot reverse the hash to recover the original name.
- v8 UUIDs are opaqueRFC 9562 reserves v8 for vendor-defined UUID layouts. The decoder shows the version number but cannot interpret the payload because the format is application-specific.
Platform notes
- macOS
- Terminal equivalent: `uuidgen` generates v4 UUIDs, but there is no built-in decoder. The browser tool fills the gap for inspecting a UUID from a log file, a database export, or an API response.
- Linux
- The `uuid` package (from util-linux or uuid-dev) includes `uuid -d` for decoding v1 timestamps on most distributions. The browser tool adds v6, v7, and v8 detection that the CLI tools do not cover.
- Web
- Runs entirely client-side. Paste a UUID from a database query result or an API response and get the breakdown without touching the command line.