← All tools

UUID Validator + Decoder

Paste a UUID. Get its version and variant decoded from the actual bits (not guessed from format), plus the exact embedded timestamp for v1, v6, and v7 UUIDs — computed with exact integer (BigInt) math so large 1582-epoch timestamps don't silently lose precision the way naive floating-point arithmetic would.

How is a timestamp hidden inside a UUID?

UUID versions 1, 6, and 7 embed a real timestamp in their bits. v1/v6 store a 60-bit count of 100-nanosecond intervals since 1582-10-15 (the Gregorian calendar's start date, chosen by the original UUID spec), split across the time_low/ time_mid/time_hi fields in different orders. v7 is simpler: the first 48 bits are a plain Unix millisecond timestamp. This tool reassembles the fields and converts to a UTC date for all three.

Why would decoding a v1 UUID's timestamp by hand give a wrong answer?

The 60-bit timestamp has to be reassembled from three separate fields in a specific bit order, then converted from 100-nanosecond ticks since 1582 to a Unix timestamp by subtracting a large constant (122192928000000000) and dividing by 10000. That value is too large to represent exactly as a 64-bit float (JavaScript's default number type), so a naive implementation using regular floating-point math silently rounds the result and can produce a timestamp that's off by seconds or more. This tool uses BigInt for the full calculation to keep it exact.

Does this tool send my UUID anywhere?

No. All parsing, validation, and decoding happens entirely in your browser with plain JavaScript. Nothing you paste is uploaded or transmitted.