ULID Generator
Generate ULIDs (Universally Unique Lexicographically Sortable Identifiers) - a 26-character, timestamp-ordered alternative to UUIDs.
Recommended Settings
Pro Tips
- •The first 10 characters encode the millisecond timestamp, so ULIDs generated later always sort after earlier ones - even as plain strings
- •The remaining 16 characters are cryptographically random, providing 80 bits of randomness per millisecond
- •ULIDs use Crockford's Base32 alphabet, which excludes easily confused characters like I, L, O, and U
- •Unlike UUIDs, ULIDs are case-insensitive and URL-safe by design, with no hyphens required
Most Popular
Most developers generate a handful of ULIDs to seed test data or verify their sort order matches creation order
When to Use This Tool
Use a naturally sortable, unique identifier as a database primary key.
Generate identifiers for events or log entries that sort chronologically by default.
Create realistic sortable IDs for test fixtures and seed data.
Generate unique, time-ordered IDs across systems without central coordination.
How It Works
Encode the current millisecond timestamp into the first 10 characters using Crockford's Base32 alphabet
Generate 80 bits of cryptographically random data for the remaining 16 characters
Combine both parts into the final 26-character ULID
100% Private
Files never leave your device. All processing happens locally in your browser.
Lightning Fast
Powered by Web Crypto API (crypto.getRandomValues), Crockford Base32 encoding for optimal performance on modern browsers.
Open Source
Built with verified, open-source libraries. Fully transparent.
Frequently Asked Questions
How is a ULID different from a UUID?
A ULID encodes a timestamp in its first 10 characters, making ULIDs generated later always sort after earlier ones as plain strings - standard UUIDs (except v7) don't have this property, and ULIDs use a more compact, case-insensitive Base32 encoding instead of hex with hyphens.
Are ULIDs case-sensitive?
No, Crockford's Base32 alphabet is designed to be decoded case-insensitively, though this tool generates them in uppercase by convention.
Can two ULIDs generated in the same millisecond collide?
It's extremely unlikely - each ULID has 80 bits of randomness within its millisecond, so the chance of a collision even with many IDs generated in the same millisecond is negligible for practical purposes.
Is my data sent to a server?
No. Every ULID is generated entirely in your browser.
Why exclude letters like I, L, O, and U?
Crockford's Base32 excludes characters that are easily confused with digits or each other when read or transcribed by hand, reducing transcription errors.