AIWalay Tools

ULID Generator

Generate sortable ULIDs — 26-character time-ordered IDs with 80 bits of randomness. Bulk output, upper or lowercase, decode timestamp. Free.

About the ULID Generator

This ULID generator creates Universally Unique Lexicographically Sortable Identifiers — 26-character IDs that combine a millisecond timestamp with cryptographic randomness. Unlike a random UUID, ULIDs sort in creation order as plain strings, which makes them excellent primary keys and cursor values in databases.

Each ULID encodes a 48-bit timestamp in its first 10 characters and 80 bits of randomness from crypto.getRandomValues in the last 16, all in Crockford's Base32 (no I, L, O or U, so they're safe to read and type). The tool shows the timestamp embedded in the IDs it generates, and lets you output uppercase canonical form or lowercase.

Generate one ID or a bulk batch, then copy or download the list. IDs made in the same batch share a timestamp and therefore sort together and remain monotonic within the millisecond. Everything runs locally in your browser.

How to Use the ULID Generator

  1. 1Choose how many ULIDs to generate.
  2. 2Select uppercase (canonical) or lowercase output.
  3. 3Click Generate ULIDs.
  4. 4Copy the list or download it as a .txt file.

Frequently Asked Questions

Why choose a ULID over a UUID?

A random UUID (v4) has no ordering, so inserting many of them as database keys scatters writes across an index. A ULID starts with a timestamp, so IDs sort in creation order as strings — giving you time-ordered, index-friendly keys while keeping global uniqueness.

Are ULIDs guaranteed to be unique?

In practice, yes. Each ULID carries 80 bits of cryptographic randomness alongside the timestamp, so the chance of two colliding within the same millisecond is astronomically small. Across different milliseconds the timestamp itself keeps them distinct.

Can I get the creation time back out of a ULID?

Yes. The first 10 characters encode the millisecond Unix timestamp, so the time is recoverable from the ID. This tool decodes and displays the timestamp for the IDs it generates.

Why does a ULID use Base32 instead of hex?

ULIDs use Crockford's Base32 alphabet, which packs more information per character than hex (so the ID is only 26 characters) and deliberately excludes the letters I, L, O and U to avoid confusion with digits when read or typed.

Is generation done locally?

Yes. The random component uses the browser's secure crypto API and the whole ID is assembled on your device — nothing is sent to a server.

Related Tools