Skip to content

Generate Universally Unique Lexicographically Sortable Identifiers (ULID) locally.

Loading tool

About ULID Generator

Generates ULIDs, up to 1000 at a time. A ULID is a 26-character Crockford Base32 string made of a 48-bit millisecond timestamp followed by 80 random bits, so IDs sort by creation time. Monotonic mode increments the random part for IDs created in the same millisecond to keep strict ordering. Output can be lowercase and formatted as one ID per line or a JSON array, and the timestamp of the first ID is shown.

Common uses

  • Create primary keys that sort by creation time
  • Generate IDs for logs, events or messages that need ordering
  • Seed test data with time-ordered unique IDs

FAQ

What does a ULID contain?
128 bits: a 48-bit Unix timestamp in milliseconds and 80 bits of randomness, encoded as 26 Crockford Base32 characters (10 for the time, 16 for the random part).
ULID vs UUID: which should I use?
A ULID is shorter as text and sorts by time, which helps database index locality. UUID v7 offers similar time ordering in the standard UUID format, which more databases and libraries support natively.
Are ULIDs case-sensitive?
No. Crockford Base32 is case-insensitive; the canonical form is uppercase but decoders accept lowercase too.
Does a ULID reveal when it was created?
Yes. The first 10 characters encode the creation time in milliseconds, so avoid ULIDs where creation time should not be exposed.