wire / identifier / ulid

ULID (Universally Unique Lexicographically Sortable Identifier)

A ULID is a 128-bit identifier: a 48-bit Unix-millisecond timestamp followed by 80 bits of randomness, rendered as 26 characters of Crockford's Base32. Because the timestamp is the high-order portion and Base32 preserves order, ULIDs sort lexicographically by creation time. It is UUID-compatible in size (128 bits) but more compact and case-insensitive in text.

identifier kind identifier status de-facto verification verified tier B identifier@1

aka: Universally Unique Lexicographically Sortable Identifier

identifier

spec: ULID spec (github.com/ulid/spec)

length 128 bits sortable Crockford's Base32 (alphabet 0123456789ABCDEFGHJKMNPQRSTVWXYZ), 26 characters

example:

01ARZ3NDEKTSV4RRFFQ69G5FAV

fieldbitsmeaning
time48Unix timestamp in milliseconds; encodes as the first 10 Base32 characters.
randomness80Cryptographically random; encodes as the last 16 Base32 characters.

provenance

see also

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