How to use
- Choose how many. A batch of ULIDs is generated straight away; click Generate for a new batch.
- Untick Uppercase if you need lower case.
- Copy the list or download it as a text file.
- To see the time inside a ULID, paste it into Inspect an ID.
Options explained
- Structure
- The first 10 characters are a 48-bit Unix timestamp in milliseconds, the last 16 are 80 random bits — 26 characters in total.
- Alphabet
- Crockford Base32, which leaves out the easily confused I, L, O and U. URL-safe and case-insensitive when parsed.
- Uppercase
- The spec recommends upper case; lower case is also a valid ULID.
Example
01ARZ3NDEKTSV4RRFFQ69G5FAV
The first 10 characters, 01ARZ3NDEK, are the timestamp (2016-07-30 23:54:10.259 UTC); the last 16 are random.
Frequently asked questions
How is a ULID different from a UUID?
A ULID is also 128 bits, but starts with a timestamp, so sorting the strings sorts them by creation time. It is 26 characters instead of the UUID's 36 and has no hyphens. If you need the standard UUID format, UUID v7 is also time-sortable.
Are ULIDs created in the same millisecond in order?
ULIDs generated here draw their random part independently, so within one millisecond their order is random. Across milliseconds they sort by time.
Can two ULIDs collide?
Only ULIDs from the same millisecond can collide, and with 80 random bits you would need about 1.56 × 10¹¹ of them in one millisecond for a 1% chance of a collision.
Does a ULID reveal when it was created?
Yes, to the millisecond. If creation time is sensitive, expose a fully random UUID v4 or Nano ID instead.
Privacy
This tool runs entirely in your browser. Your files and text are processed on your device and are never uploaded to our servers.