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.
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
- Choose generate or decode.
- To generate, set how many, and optionally a timestamp (ISO date or milliseconds).
- Keep monotonic mode on if several IDs created in the same millisecond must sort in order.
- 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:
Page address with these inputs: https://kakao.mobile/tools/ulid-generator/
Cite or embed this tool
kakaoCalc. (2026, November 8). ULID Generator & Decoder. https://kakao.mobile/tools/ulid-generator/
“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