ULID Generator — Guide

Generate ULIDs online — sortable, time-ordered unique identifiers, ideal for database keys and distributed systems.

What it is and when to use it

A ULID is a 128-bit identifier that is lexicographically sortable: the first 10 characters encode a millisecond timestamp, so sorting ULIDs as strings puts them in creation order. That makes them a drop-in upgrade over a random UUID when the identifier is also used as a database primary key or a sort key — new rows land at the end instead of being scattered. The remaining 16 characters are 80 bits of randomness, so collisions are not a practical concern. ULIDs use Crockford base32 (no I, L, O or U) and are conventionally written uppercase.

Generates ULIDs: unique like a UUID, but sortable by time — friendlier as a database primary key.

How to use it

  1. Click generate to get a ULID
  2. Generate repeatedly for more
  3. Copy and use it

Things that trip people up

  • Each ULID is minted independently, so IDs created in the same millisecond are not guaranteed to sort in generation order — use a monotonic ULID factory when strict insertion order matters
  • The quantity field is capped at 100 per refresh; generate more by refreshing again

Questions people ask

How is a ULID different from a UUID v4?
A UUID v4 is random, so its byte order carries no meaning and sorting it tells you nothing about creation time. A ULID puts a millisecond timestamp in its first 10 characters, so lexicographic order equals chronological order — which is exactly what you want from a primary or sort key.
Can two ULIDs collide?
Within a single millisecond a ULID still has 80 random bits (the last 16 characters), giving about 2^80 values before a collision is even theoretically likely. Real systems generate far fewer than that per millisecond, so collisions are not a concern in practice.
Is a ULID case-sensitive?
ULID uses Crockford base32 and is conventionally uppercase; the canonical form keeps it uppercase. Some libraries accept lowercase on input, but store and compare the canonical uppercase string to avoid mismatches.

Next steps

Open the ULID Generator tool

Spotted something wrong on this page? Tell us via Contact Us