EN
My tools

ULID Generator & Decoder

Generate ULIDs (sortable 26-character IDs) with a secure random part, monotonic mode and custom time, or decode a ULID to its timestamp and random bits.

Leave empty to use the current time.
My tools →
Advertisement

A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit ID written as 26 Crockford Base32 characters: 48 bits of millisecond time followed by 80 random bits. Unlike a random UUID, ULIDs sort by creation time, which keeps database indexes compact, and they are shorter and URL-safe. This tool generates ULIDs with a secure random part, optionally monotonic and at a chosen time, and decodes any ULID to its timestamp and random bits.

How to use this tool

  1. Choose generate or decode.
  2. To generate, set how many, and optionally a timestamp (ISO date or milliseconds).
  3. Keep monotonic mode on if several IDs created in the same millisecond must sort in order.
  4. To decode, paste a ULID; lower case is accepted.

Formula

ULID = Base32(48-bit Unix time in ms) [10 chars] ‖ Base32(80 random bits) [16 chars]

Crockford’s Base32 alphabet is 0123456789ABCDEFGHJKMNPQRSTVWXYZ (no I, L, O or U). The largest timestamp is 7ZZZZZZZZZ = 2⁴⁸ − 1 ms, in the year 10889. In monotonic mode an ID made in the same millisecond as the previous one reuses its random part plus 1.

Example

The ULID spec’s example 01ARYZ6S41TSV4RRFFQ69G5FAV decodes to 1469918176385 ms, which is 2016-07-30 22:36:16.385 UTC; its random part is d6764c61efb99302bd5b. The README’s other sample, 01ARZ3NDEKTSV4RRFFQ69G5FAV, has a different time part and decodes to 1469922850259 ms.

Frequently asked questions

ULID or UUID v7?

Both put a millisecond timestamp first and sort by time. UUID v7 is an IETF standard (RFC 9562) in the familiar 36-character UUID format; ULID is shorter (26 characters) and case-insensitive. Pick whichever your database and libraries support.

Are ULIDs secret or unguessable?

The timestamp is readable by anyone, and in monotonic mode IDs from the same millisecond differ by 1. Do not use ULIDs as passwords, tokens or reset links; use a random token generator for that.

Why is the letter U (or I, L, O) rejected?

Crockford’s Base32 leaves out I, L and O to avoid confusion with 1 and 0, and U to avoid accidental obscenities, so a ULID can never contain them.

Sources

Last updated:

Cite or embed this tool
APA

kakaoCalc. (2026, November 8). ULID Generator & Decoder. https://kakao.mobile/tools/ulid-generator/

MLA

“ULID Generator & Decoder.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/ulid-generator/.

Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms

Advertisement