ULID Generator
Generate ULID (Universally Unique Lexicographically Sortable Identifier) — 26-character Base32 IDs that sort by creation time out of the box. 128 bits of entropy (48 timestamp + 80 random). Up to 1000 per batch, fully client-side.
About the ULID Generator
A ULID is a 128-bit identifier like a UUID but encoded in 26 characters of Crockford Base32 instead of 36 characters of hex. The first 10 characters are a millisecond timestamp, making ULIDs lexicographically sortable — a huge advantage for logs, events, and database primary keys.
ULID vs UUID
- Length: ULID 26 chars vs UUID 36 chars (URL-friendlier)
- Sortability: ULID sorts by time; UUID v4 does not
- Entropy: ULID 80 random bits; UUID v4 122 random bits — both are far beyond collision reach
- Case: ULID is uppercase Base32 (no 0/O or 1/I/L confusion)
When ULID Shines
- Primary keys in a database where insert locality matters
- Correlation IDs for distributed logs — they sort naturally in time order
- Event IDs in event-sourced systems
- Short-enough public URLs where UUIDs feel bulky
FAQ
Is the random part cryptographically secure?
Yes. The 80 random bits come from crypto.getRandomValues.
Do ULIDs from the same millisecond collide?
With 80 bits of randomness per millisecond, a collision needs ~2⁴⁰ IDs in one ms — practically impossible.
Related
Compare ULID with other formats in UUID vs NanoID vs ULID, or generate classic UUIDs with the UUID Generator.
Time-sortable
48-bit millisecond timestamp prefix sorts ULIDs by creation order.
80 random bits
Crypto-strong randomness from the Web Crypto API.
Batch 1000
Generate large batches for seed data, event streams, logs.