Generators
ULID generator
ULID generator draws identifiers made of a 48-bit millisecond timestamp followed by 80 random bits, both written in Crockford base32 to form 26 uppercase characters. Teams building distributed systems use ULIDs as primary keys: because the time sits first, values created later sort after earlier ones, so index inserts land at the end of the tree instead of scattering across it. The random half comes from the browser's cryptographic random source.
How to use ULID Generator
- Open ULID Generator in the Toolbox101 app; a new identifier is already in the
Outputbox. - Click
Generate Newfor another draw; each value pairs the current timestamp with fresh random bits. - Click
Copyand paste the ULID into your schema, test fixture, cache key or log line.
Worked example
ULID Generator gives a different result every time, so yours will differ. This is one run:
Output
01M3VQ95TXDFS0WM1XKNK67S2YFrequently asked questions
What is a ULID and how is it built?
ULID stands for Universally Unique Lexicographically Sortable Identifier. Each value is 26 characters long: the first ten encode the creation time in milliseconds since the Unix epoch, and the remaining sixteen are random bits. Both halves use Crockford base32, which omits the letters I, L, O, and U to avoid confusion with digits.
ULID or UUID v4: which should I pick?
ULIDs sort chronologically, so primary keys inserted in time order stay clustered in database indexes and look ordered in logs and URLs. UUID v4 values are entirely random, which hides creation time but distributes writes evenly. Choose ULID for ordered, human-scannable keys and UUID v4 when you want no time signal at all.
Can two ULIDs generated at the same time collide?
Within one millisecond two values share the same timestamp prefix and differ only in their 80 random bits, so a collision would require billions of values in that same millisecond. Note that equal timestamps mean equal prefixes: same-millisecond values are not strictly ordered, so sort ties however you like.
Why is a ULID always 26 characters long?
Ten characters hold the 48-bit timestamp at five bits per base32 character, and sixteen hold the 80 random bits, so the length is always 10 plus 16 regardless of when the value is made. The alphabet prints in uppercase here; decoders treat both cases as the same.
Use ULID Generator now
Runs in your browser. Nothing you type is uploaded.