LazyTools

🔒 Every tool runs in your browser — the files and values you enter are never uploaded to any server. How it works

🔢 ULID Generator

Generate ULIDs — 26-character, time-sortable identifiers (48-bit timestamp + 80-bit randomness) — single or in bulk, and decode them too.

ULID: 48-bit timestamp + 80-bit randomness in Crockford base32 — lexicographically sortable, 26 characters. 🔒 Generated entirely in your browser.

Rate this tool:
Anonymous — no account, no identifier

How the ulid generator works

A ULID packs a 48-bit millisecond timestamp and 80 bits of cryptographically-secure randomness into 26 Crockford base32 characters. Because the timestamp leads, ULIDs sort lexicographically in creation order — handy as database keys and log IDs — while remaining globally unique. Switch tabs to generate UUID v4/v7 or NanoID, or decode an existing ULID to read its timestamp.

ULIDs are an alternative to UUID v7: same time-sortable benefit, but shorter and case-insensitive in Crockford base32. All randomness comes from crypto.getRandomValues.

Frequently asked questions

What is a ULID?

A Universally Unique Lexicographically Sortable Identifier: a 128-bit ID encoded as 26 Crockford base32 characters, made of a 48-bit millisecond timestamp followed by 80 random bits. It sorts in creation order.

How is a ULID different from a UUID?

A ULID is shorter (26 vs 36 characters), uses case-insensitive base32 instead of hex, and is time-sortable by design. UUID v7 offers the same sortability in the standard UUID format.

Are ULIDs good for database keys?

Yes — the leading timestamp gives good index locality (new rows cluster together), avoiding the index fragmentation that random UUID v4 keys cause.

Can I extract the time from a ULID?

Yes — the Decode tab reads the first 10 characters back into the millisecond timestamp and shows it as a date.

Is it generated securely and locally?

Yes — the random portion uses crypto.getRandomValues, and everything runs in your browser.

Related generators