By Tim King · Updated
UUID Decoder
Decode UUID Version, Variant and Timestamp, With All 128 Bits Broken Down
OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.
How the UUID Decoder works
This UUID decoder reads the version, variant and timestamp. Paste a UUID, with or without hyphens, braces or the urn:uuid: prefix, and the readout tells you which version it is and what that version encodes, which variant family it belongs to, and, for time-based versions 1, 6 and 7, the exact timestamp it was generated at as a UTC date and as Unix seconds and milliseconds. Version 1 and 6 UUIDs also give up their clock sequence and node field, with a note on whether the node looks like a real MAC address. The table lays out the five fields of the UUID with their bit ranges, hex and meaning for that version.
UUID decoder: versions and variants
A UUID is 128 bits written as 32 hex digits in five groups, 8-4-4-4-12. Two small fields inside it are fixed by the standard: the first hex digit of the third group is the version, and the top two or three bits of the fourth group are the variant. Everything else depends on the version, which is what makes decoding useful: a v4 UUID is just random bits, but a v1 or v7 UUID carries a timestamp that tells you when a record was created, and a v1 UUID may carry the MAC address of the machine that created it.
Version 7. The first 48 bits are the Unix time in milliseconds, big-endian, so the decoder reads them straight into a date. The remaining 74 bits are random (12 bits of rand_a, which some generators use as sub-millisecond precision or a counter, and 62 bits of rand_b). Because the timestamp leads, v7 UUIDs sort by creation time, which is why they have replaced v1 and v4 as the default for database keys in RFC 9562.
Version 1. The timestamp is a 60-bit count of 100-nanosecond intervals since 15 October 1582, the start of the Gregorian calendar, split into low, mid and high parts with the low part first. The decoder reassembles it and subtracts the 12,219,292,800 seconds between 1582 and 1970 to give Unix time. The 14-bit clock sequence guards against the clock being set backwards, and the 48-bit node is the generating machine's MAC address unless the generator chose a random value, in which case the multicast bit (the least significant bit of the first byte) is set. That MAC leak is the reason v1 fell out of favour.
Version 6. The same Gregorian timestamp as v1 but with the parts reordered so the high bits come first and the UUID sorts chronologically. Otherwise identical in layout.
Versions 3, 4, 5 and 8. Nothing to recover. v3 and v5 are MD5 and SHA-1 hashes of a namespace and a name, and the hash cannot be reversed. v4 is 122 random bits. v8 is reserved for custom layouts, so its contents mean whatever the application decided. Version 2 is the DCE Security variant, rare in practice, which replaces the low timestamp with a POSIX UID or GID and stores a domain byte in place of the low clock sequence.
Variant. The nibble at position 17 says which family the layout belongs to. 8, 9, a or b is the RFC 4122 / 9562 layout that every modern UUID uses. 0 to 7 is the old NCS layout, c and d are reserved for Microsoft's legacy COM GUIDs, and e and f are reserved. The version digit only has its standard meaning within the RFC variant, which is why the decoder reports n/a for the others.
Nil and Max. All zeros and all ones are special values defined by the RFC, used as placeholders and sentinels. The decoder names them rather than trying to read a version out of them.
UUID decoding worked examples
The formula: version = the 13th hex digit; variant = the top bits of the 17th hex digit (8, 9, a or b means RFC 9562); for version 7, timestamp = the first 12 hex digits read as milliseconds since 1970-01-01 UTC.
First example. F47ac10b-58cc-4372-a567-0e02b2c3d479: the 13th digit is 4, so version 4, random. The 17th digit is a, binary 1010, so the RFC variant. There is no timestamp to extract.
Second example. 01a11ad9-21c0-7abc-9def-0123456789ab: the 13th digit is 7. The first 12 hex digits, 01a11ad921c0, are 1,791,451,800,000 in decimal, which is 2026-10-08 09:30:00.000 UTC.
How many UUIDs are possible? A version 4 UUID has 122 random bits, about 5.3 × 10^36 values, so two random UUIDs effectively never collide.
Version 7 UUID prefix at the start of each month (UTC)
| Date | Unix milliseconds | First 12 hex digits |
|---|---|---|
| 1 Jan 2025 | 1,735,689,600,000 | 01941f29-7c00 |
| 1 Feb 2025 | 1,738,368,000,000 | 0194bece-a000 |
| 1 Mar 2025 | 1,740,787,200,000 | 01954f00-b000 |
| 1 Apr 2025 | 1,743,465,600,000 | 0195eea5-d400 |
| 1 May 2025 | 1,746,057,600,000 | 01968924-9c00 |
| 1 Jun 2025 | 1,748,736,000,000 | 019728c9-c000 |
| 1 Jul 2025 | 1,751,328,000,000 | 0197c348-8800 |
| 1 Aug 2025 | 1,754,006,400,000 | 019862ed-ac00 |
| 1 Sep 2025 | 1,756,684,800,000 | 01990292-d000 |
| 1 Oct 2025 | 1,759,276,800,000 | 01999d11-9800 |
| 1 Nov 2025 | 1,761,955,200,000 | 019a3cb6-bc00 |
| 1 Dec 2025 | 1,764,547,200,000 | 019ad735-8400 |
| 1 Jan 2026 | 1,767,225,600,000 | 019b76da-a800 |
| 1 Feb 2026 | 1,769,904,000,000 | 019c167f-cc00 |
| 1 Mar 2026 | 1,772,323,200,000 | 019ca6b1-dc00 |
| 1 Apr 2026 | 1,775,001,600,000 | 019d4657-0000 |
| 1 May 2026 | 1,777,593,600,000 | 019de0d5-c800 |
| 1 Jun 2026 | 1,780,272,000,000 | 019e807a-ec00 |
| 1 Jul 2026 | 1,782,864,000,000 | 019f1af9-b400 |
| 1 Aug 2026 | 1,785,542,400,000 | 019fba9e-d800 |
| 1 Sep 2026 | 1,788,220,800,000 | 01a05a43-fc00 |
| 1 Oct 2026 | 1,790,812,800,000 | 01a0f4c2-c400 |
| 1 Nov 2026 | 1,793,491,200,000 | 01a19467-e800 |
| 1 Dec 2026 | 1,796,083,200,000 | 01a22ee6-b000 |
FAQ
How do I get the timestamp from a UUID?
Only versions 1, 6 and 7 contain one. Paste the UUID and the readout shows the date and Unix time. For v7 it is the first 12 hex digits as milliseconds; for v1 it is the first three groups reassembled in the order high, mid, low as 100-nanosecond ticks since 1582. Versions 3, 4 and 5 have no timestamp.
Can I find the MAC address from a UUID?
Only from a version 1 or 2 UUID whose generator used the real hardware address. The last 12 hex digits are the node; if the least significant bit of its first byte is 0 the decoder reports it as a likely MAC address, and if it is 1 the generator used a random node instead. Most modern libraries use a random node.
What is the difference between UUID v4 and v7?
v4 is entirely random, so it reveals nothing and does not sort. v7 puts a millisecond Unix timestamp in the first 48 bits, so it is time-sortable and index-friendly in databases, at the cost of exposing the creation time. Paste one of each to see the decoder recover a date from v7 and nothing from v4.
What does the variant tell me?
Which layout the UUID follows. Almost every UUID you meet is the RFC variant, with a first hex digit of 8, 9, a or b in the fourth group. A different value means an old NCS or Microsoft GUID layout, in which case the version digit does not carry its usual meaning.
Does the decoder accept GUIDs with braces or uppercase?
Yes. It strips braces, the urn:uuid: prefix and hyphens, and ignores case, then reads the 32 hex digits. A GUID as used by Windows and .NET is the same 128-bit value, though very old COM GUIDs may show the Microsoft variant rather than the RFC one.
See also: all Security & Identifiers tools, Dev Utilities, Formatters & Validators, Data & Encoding, SEO, Accessibility, AI.
Related tools
UUID Validator
Check a list of UUIDs and decode their version, variant and timestamp.
UUID Generator
Random v4 or time-ordered v7 UUIDs, generated in your browser.
Epoch Converter
Convert Unix timestamps to dates and back again.
Base Converter
Convert numbers between binary, octal, decimal and hex.
JWT Decoder
Decode a JWT and read its claims and expiry.