UUID generator · formatUUID v1 — generator and how it works
Version 1 is time to 100 nanoseconds since 15 October 1582 plus a node — historically the network card's MAC address. The time is cut into pieces and stored low bits first, so v1 strings, contrary to popular belief, do not sort by time.
Compatibility with older systems that expect exactly v1.
Not for new projects: for time inside pick v7, which sorts and does not expose the machine.
If you need a v1-compatible layout that sorts, that is v6, not v1.
How it differs from its neighbours
Against v7: v1 has finer time, but its strings are unordered and the node historically leaked the MAC address. Against v6: v6 holds the same 60 bits of time rearranged high to low, so it sorts. Our generator uses a random node with the multicast bit set, as RFC 9562 requires: a browser cannot see the MAC, and passing random bytes off as a card address would be untrue.
Time in v1 is 60 bits of 100-nanosecond intervals since 15 October 1582, cut into three parts. Reassemble them in reverse order — the third group without the version digit, then the second, then the first — subtract the offset to 1970 and convert to a date. The Check field on the generator page does it automatically.
The last twelve digits are the node field. Historically it was the network card's MAC address, but a generator may use random bytes instead and must then set the multicast bit, the lowest bit of the first octet. If it is set, the address is not real. A browser cannot see the MAC at all, so the node here is always random and the check says so.
Because time is stored low bits first: the first group is the fastest-changing part and wraps around roughly every seven minutes. Strings of identifiers created one after another get shuffled when sorted. Version 6 fixes exactly that — the same 60 bits of time rearranged high to low — and so does version 7, built on Unix time.
A version from RFC 9562 designed as a sortable replacement for v1: the same 60-bit time since 1582 and the same node, but time is written from high bits to low, so strings follow creation order. It is chosen for compatibility with v1 data. For new systems the RFC recommends v7, based on Unix time and without a node.
It reveals the creation moment to 100 nanoseconds and, if the node is real, the machine's MAC address. In 1999 such an identifier in Word documents linked the author of the Melissa virus to his computer. The next v1 is also easier to guess than a random value. That is why new projects avoid it and never expose it publicly.
Sixty bits of 100-nanosecond intervals since 15 October 1582 last until the year 5236. Uniqueness breaks sooner than time does: if a machine creates two values within one interval or its clock is set back, the clock_seq counter prevents a collision. A generator without that counter can issue a duplicate.