Canonical format
A ULID is 128 bits: a 48-bit Unix timestamp in milliseconds followed by 80 random bits, encoded into 26 Crockford Base32 characters. The canonical first character is limited to 0–7 so the 130-bit text encoding cannot overflow 128 bits.
Monotonic mode
When multiple ULIDs share one millisecond, monotonic generation increments the random field instead of drawing an unrelated random value, preserving generation order under lexical sorting.
Database indexing
ULIDs are useful when you want compact public IDs that retain chronological locality. Store the canonical 26-character form with a binary/ASCII-safe collation and enforce uniqueness.
Privacy + security
Generation and inspection are entirely local. Randomness comes from browser Web Crypto. Remember that a ULID exposes its millisecond creation timestamp by design.