ULID Generator
Generate ULIDs: 26-character, time-sortable IDs in Crockford base32 that are URL-safe and case-insensitive, strictly increasing within each batch.
How to use this tool
Steps for using the UUID Generator.
- ULID is selected. Each batch starts with the current time, and every ULID is greater than the one before it.
- Set How many (1–1000) and press Generate.
- Choose an output format — one per line, JSON, CSV, SQL
VALUESor a quoted list — and Copy all or Download. - Paste a ULID into Validate or inspect to check it and read its timestamp.
Example
Two ULIDs from the same millisecond
Generate01M5EWQKE0830CKBN9WEM2FD5V
01M5EWQKE0830CKBN9WEM2FD5WCommon use cases
- Sortable IDs for records, events and messages stored as text.
- Short, URL-safe IDs in links and file names that still sort by time.
- Partition or shard keys where time order helps range queries.
- Replacing auto-increment integers in distributed systems.
What a ULID is made of
A ULID (Universally Unique Lexicographically Sortable Identifier) is 128 bits written as 26 characters of Crockford base32. The first 10 characters are a 48-bit Unix timestamp in milliseconds; the last 16 characters are 80 random bits.
Crockford base32 uses the digits and letters except I, L, O and U, so ULIDs avoid look-alike characters, are case-insensitive and are safe in URLs and file names without escaping. Because the timestamp comes first and the alphabet is in sort order, ULIDs sort by creation time as plain strings.
When several ULIDs are created in the same millisecond, this generator keeps them in order by incrementing the random part by one instead of drawing new random bits — the monotonic behaviour described in the ULID spec. That is why the examples above differ only in their last character.
ULIDs and UUID v7 solve the same problem. Choose a ULID when you want a shorter, readable text ID; choose UUID v7 when your database or API expects the standard UUID format.
Limitations
- Up to 1000 ULIDs per batch.
- Ordering is guaranteed within this page; ULIDs from different machines are ordered only as well as their clocks agree.
- The creation time can be read from the first 10 characters.
Frequently asked questions
What is the difference between a ULID and a UUID?
Both are 128 bits. A ULID is written as 26 base32 characters and sorts by time; a UUID is written as 36 hex characters with hyphens. UUID v7 is the closest UUID equivalent to a ULID.
Can I store a ULID in a UUID column?
Yes, if you convert it: a ULID is 128 bits, the same size as a UUID. Many libraries convert between the two; stored as text, a ULID needs 26 characters.
Are ULIDs case-sensitive?
No. Crockford base32 is case-insensitive, so 01m5ewqke0… and 01M5EWQKE0… are the same ULID. This page outputs uppercase, the canonical form.
How do I get the time from a ULID?
Decode the first 10 characters from base32 to a number of milliseconds since 1970. Paste the ULID into Validate or inspect to see it as a date.