ULID Generator & Timestamp Decoder

ULIDs look like UUIDs but sort by time — great for database keys and logs. Generate one, decode a timestamp from an existing ID, or batch ten at a time.

Embed this tool on your website / blog No code required · Copy and paste
HTML Embed Code (iframe):
<iframe src="https://lucentool.com/ulid-generator" width="100%" height="650" style="border:1px solid #e5e0d8;border-radius:12px;max-width:850px;width:100%;" frameborder="0"></iframe>
<div style="font-size:12px;color:#78716c;margin-top:6px;font-family:sans-serif;">Powered by <a href="https://lucentool.com/ulid-generator" target="_blank" style="color:#c85a32;text-decoration:none;">Lucentool - ULID Generator & Timestamp Decoder</a></div>

What is a ULID?

ULID (Universally Unique Lexicographically Sortable IDentifier) is a 26-character Crockford Base32 string: 48 bits timestamp (ms since Unix epoch) + 80 bits randomness. Because the timestamp comes first and Base32 keeps lexicographic order, sorting ULIDs as strings equals sorting by creation time — the property that makes them the go-to for database primary keys and distributed logs.

ULID vs UUID

Uses

Primary keys in SQL (better insert locality than UUIDs), event IDs in logs (grep by time prefix), idempotency keys, and any place you want IDs that tell you when they were made — the decoder shows the exact millisecond.

Everything runs locally: no server, no tracking, IDs are generated with crypto.getRandomValues.