โ— generated entirely in your browser

ULID generator

A ULID is a 26-character, lexicographically sortable ID - a 48-bit timestamp followed by 80 bits of randomness, Crockford base32 encoded. Sorts correctly as plain text, unlike UUID v4.

How it works

Each ULID encodes the current millisecond timestamp as the first 10 Crockford base32 characters, then appends 16 more characters encoding 80 bits of randomness pulled from crypto.getRandomValues() โ€” because the timestamp comes first, sorting a batch of ULIDs as plain strings sorts them by creation time too.

FAQ

Why use a ULID instead of a UUID v4?
A ULID's first 10 characters encode a millisecond timestamp, so IDs generated later sort after earlier ones as plain text โ€” a UUID v4 is fully random, so sorting a list of them tells you nothing about creation order.
Are the random bits actually secure, or just Math.random()?
They come from crypto.getRandomValues(), the Web Crypto API's cryptographically secure random number generator, not Math.random(), which isn't guaranteed to be unpredictable.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks โ€” $3