ULID Generator
Generate lexicographically sortable ULIDs in bulk, in upper or lowercase.
Choose how many to generate, from 1 to 1000. Everything runs in your browser. Nothing is uploaded.
Case
Uppercase is the canonical Crockford base32 form. Both cases decode to the same value because the alphabet is case-insensitive.
How to generate ULIDs online
Set the amount
Enter how many ULIDs you need, anywhere from 1 to 1000. A batch appears as soon as the page loads and updates the moment you change the count.
Choose the case
Keep the standard uppercase form or switch to lowercase; both decode to the same value because the base32 alphabet is case-insensitive.
Copy the batch
Copy to clipboard grabs every ULID, one per line, in sorted order. Regenerate rolls a fresh batch without changing your settings.
Why use this tool
Sortable by design
Each ULID begins with a 48-bit millisecond timestamp, so a batch sorts into creation order with a plain text comparison, no separate created-at column required.
Cryptographically random tail
The last 80 bits come from your browser's cryptographically secure random source, giving each ULID more than enough entropy never to collide in practice.
Strictly ordered batches
IDs created in the same millisecond increment the random part step by step, so an entire batch is strictly ordered, not just grouped by the same instant.
Up to 1000 at a time
One field controls batch size, so seeding a database or a spreadsheet column takes a single copy instead of a thousand clicks.
Upper or lowercase
Output uses the canonical uppercase Crockford base32 alphabet by default, with a lowercase toggle for systems that prefer it.
Generated on your device
ULIDs are created locally in the browser tab, not fetched from a service, so no one else ever sees them and there is no rate limit.
About this tool
This ULID generator produces Universally Unique Lexicographically Sortable Identifiers: 128-bit values written as 26 characters in Crockford base32. The first 10 characters encode a 48-bit timestamp in milliseconds, and the remaining 16 carry 80 bits of randomness drawn from your browser's cryptographically secure random source. Because the time comes first, a set of ULIDs sorts into creation order with an ordinary text comparison, with no separate date column needed.
Set a count between 1 and 1000 and the batch regenerates automatically; the case toggle re-shapes the list without rerolling it. Every ULID in a batch shares one timestamp, and the random part increments by one from each ID to the next, so the whole batch is strictly ordered rather than merely grouped inside the same millisecond. ULIDs are a common alternative to UUIDs for database primary keys, event and log identifiers, and stored file names, anywhere fully random keys would otherwise scatter inserts across an index. If you prefer the classic 128-bit format, use the UUID generator; to read the embedded time back out of a value, the Unix timestamp converter turns the millisecond number into a date.
Generation happens entirely on your machine, so the identifiers are never drawn from a shared server sequence and are known only to you. The timestamp records when each ID was made, down to the millisecond, while the random tail keeps two IDs created in the same instant from colliding. Because the encoding is case-insensitive, the lowercase and uppercase forms of any ULID decode to exactly the same value.
Frequently asked questions
- What is a ULID?
- A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit value written as 26 characters in Crockford base32, like 01ARZ3NDEKTSV4RRFFQ69G5FAV. The first 10 characters encode a 48-bit millisecond timestamp and the last 16 encode 80 bits of randomness, so the value is both unique and sortable by time.
- How is a ULID different from a UUID?
- Both are 128-bit identifiers. A ULID is written as 26 case-insensitive Crockford base32 characters instead of the 36-character hyphenated hex of a UUID, and it always begins with a timestamp, so ULIDs sort by creation time as plain text. A random UUID (version 4) carries no order at all.
- How are these ULIDs generated?
- The timestamp comes from your device's clock and the 80-bit random tail is drawn from the browser's cryptographically secure random source. Generation happens entirely on your device, so no two people share a sequence and nothing is fetched from a server.
- Why does a batch sort in order?
- Because the timestamp sits at the front, comparing ULIDs as ordinary strings sorts them by the time they were made. Within a single millisecond the random part increments by one for each new ID, so even a batch created in the same instant stays strictly ordered.
- How many can I generate at once?
- Set any count from 1 to 1000. The list updates instantly, and the Regenerate button rolls a fresh batch while keeping your count and case settings. The copy button grabs every ULID, one per line.
- Are the generated ULIDs sent anywhere?
- No. Everything is generated locally in your browser. The values never leave your device, are never uploaded, and are not stored or logged.
Related tools
UUID Generator
Generate version 4 and version 7 UUIDs in bulk, with case and format options.
Unix Timestamp Converter
Convert Unix epoch timestamps in seconds or milliseconds to a readable date, and back again.
Hash Generator
Hash text or any file to MD5, SHA-1, SHA-256, and SHA-512, and verify a checksum.
API Key Generator
Generate cryptographically random API keys and tokens in hex, base62, or base64url, with control over length, an optional prefix, and bulk output.
ASCII Table Reference
The full ASCII character set with decimal, hex, octal, binary, and HTML codes. Search by code, character, or name.
Atbash Cipher
Mirror the alphabet so A swaps with Z, B with Y, and so on. Atbash is its own inverse, so one field both encodes and decodes as you type.