ULID Generator

Generate Universally Unique Lexicographically Sortable Identifiers with timestamp decoding.

110

Frequently Asked Questions

A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit identifier that encodes a millisecond-precision timestamp in the first 48 bits and 80 bits of cryptographic randomness. It is encoded as 26 Crockford Base32 characters.
Unlike UUIDv4 (which is entirely random), a ULID embeds a timestamp so that IDs sort chronologically when stored as strings. ULIDs are also shorter (26 chars vs 36 for UUID) and use Crockford Base32, which avoids ambiguous characters like I, L, O.
Yes. ULIDs are excellent primary keys because their time-ordered nature improves B-tree index locality compared to random UUIDs. They also carry the same 128 bits of information and have negligible collision probability.
Crockford Base32 uses the characters 0-9 and A-Z excluding I, L, O, and U to avoid ambiguity. This gives 32 symbols and encodes 5 bits per character, so 26 characters encode exactly 130 bits (48 timestamp + 80 random, with the top 2 bits of the first character always zero).
Yes. The first 10 characters of a ULID encode the 48-bit millisecond timestamp. This tool shows the decoded timestamp as a human-readable date alongside each generated ULID.