loot.tools

ULID Generator

Generate ULIDs in the browser, one at a time or in bulk. A ULID is a 26-character ID that starts with a millisecond timestamp, so a batch sorts in creation order as plain text. Toggle case, copy the whole batch, and paste any ULID back in to read the time it was made.

Generate ULIDs in the browser. A ULID packs a millisecond timestamp and 80 bits of randomness into a 26-character string that sorts in creation order, so it works well as a database key. The random part uses your browser's secure random source. Nothing is stored or sent anywhere.

Output
01KW4ZHKBF8VRMZT2PB0J05BNG

What is a ULID?

A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit ID written as 26 characters in Crockford's Base32, like 01ARZ3NDEKTSV4RRFFQ69G5FAV. The first 10 characters encode a millisecond timestamp and the last 16 are random. Because the timestamp leads, sorting ULIDs as strings sorts them in the order they were created - something UUIDv4 can't do. Crockford's alphabet drops the letters I, L, O, and U so the IDs are hard to misread or mistype.

How this generator works

Pick how many ULIDs you want (1 to 500) and hit generate. The timestamp comes from your device clock and the random part from your browser's cryptographically secure random source (crypto.getRandomValues). ULIDs created in the same millisecond get a strictly increasing random part, so even a bulk batch stays in order. Paste any ULID into the inspector to decode its embedded timestamp. Nothing is stored or sent anywhere.

ULID vs UUID

  • ULIDs sort by creation time, which keeps database indexes tidy and makes range queries by time easy
  • They're shorter than a hyphenated UUID (26 vs 36 characters) and URL-safe with no special characters
  • Reach for a UUIDv4 when you specifically need an opaque, time-free identifier, or a ULID when ordering and index locality matter