wire / identifier / uuidv1
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.
aka: UUID v1 · time-based UUID · version 1 UUID
spec: RFC 9562 §5.1
example:
c232ab00-9414-11ec-b3c8-9f6bdeced846
| field | bits | meaning |
|---|---|---|
| time_low | 32 | Low 32 bits of the 60-bit Gregorian timestamp (100-ns intervals since 1582-10-15). |
| time_mid | 16 | Middle 16 bits of the timestamp. |
| ver | 4 | version = 0b0001 (1). |
| time_high | 12 | High 12 bits of the timestamp. |
| var | 2 | variant = 0b10 (RFC 9562 / former RFC 4122). |
| clock_seq | 14 | Clock sequence, to avoid collisions when the clock is set backwards or the node changes. |
| node | 48 | Node id; historically the 48-bit IEEE 802 MAC address, may be a random multicast-bit-set value for privacy. |
agent: curl -H 'accept: application/json' wire.phall.io/identifier/uuidv1
or /identifier/uuidv1.json