wire / identifier / uuidv1

UUID Version 1 (Gregorian time + node)

UUIDv1 is a 128-bit time-based UUID: a 60-bit timestamp counting 100-nanosecond intervals since 1582-10-15 00:00:00 UTC (the Gregorian calendar epoch), a 14-bit clock sequence, and a 48-bit node identifier (historically the host MAC address). The time field is split across three sections, so v1 strings are NOT lexicographically time-sortable; UUIDv6 reorders the same data to fix that.

identifier kind identifier status standard verification verified tier B identifier@1

aka: UUID v1 · time-based UUID · version 1 UUID

identifier

spec: RFC 9562 §5.1

length 128 bits not sortable hex with dashes (8-4-4-4-12)

example:

c232ab00-9414-11ec-b3c8-9f6bdeced846

fieldbitsmeaning
time_low32Low 32 bits of the 60-bit Gregorian timestamp (100-ns intervals since 1582-10-15).
time_mid16Middle 16 bits of the timestamp.
ver4version = 0b0001 (1).
time_high12High 12 bits of the timestamp.
var2variant = 0b10 (RFC 9562 / former RFC 4122).
clock_seq14Clock sequence, to avoid collisions when the clock is set backwards or the node changes.
node48Node id; historically the 48-bit IEEE 802 MAC address, may be a random multicast-bit-set value for privacy.

provenance

see also

agent: curl -H 'accept: application/json' wire.phall.io/identifier/uuidv1 or /identifier/uuidv1.json