Skip to content

ULID Generator

Generate sortable ULID identifiers.

Count
Output

No result

About ULID Generator

ULID Generator produces sortable, URL-safe identifiers in the ULID format, a modern alternative to UUIDs that puts a timestamp first so that ids can be ordered by the time they were created. Choose how many to generate and the tool returns one twenty-six character ULID per line.

Each ULID is made of two halves. The first ten characters encode the epoch milliseconds in uppercase base36, zero-padded, so that the string sorts chronologically. The last sixteen characters are drawn at random from Crockford base32 - the digits and letters with I, L, O and U removed, which keeps the ids readable and unambiguous when spoken or transcribed.

The practical effect is that ULIDs generated in the same run share their timestamp prefix and line up in order, which is exactly why they are useful as primary keys in logs and databases. The timestamp is only millisecond precision, so two ids created in the same millisecond are ordered only by their random half, and there is no guarantee of uniqueness across separate machines.

How to use ULID Generator

  1. 1 Set the Count field to how many ULIDs you want, or leave the default of one.
  2. 2 Run the tool to read one ULID per line.
  3. 3 Note that ids from one run share a timestamp prefix and sort chronologically.

Frequently asked questions

How is a ULID structured?

The first ten characters are the epoch milliseconds in uppercase base36, zero-padded, and the last sixteen are random from Crockford base32. The timestamp leading means the string sorts in creation order.

Why does the alphabet skip I, L, O and U?

Those letters are easy to confuse with digits and each other, so Crockford base32 leaves them out. The result is an id that is safer to read aloud or write down by hand.

Are two ULIDs ever identical?

Within a single run the random half makes collisions effectively impossible, but there is no global uniqueness guarantee. Two ids generated in the same millisecond are ordered only by their random half, and separate machines have no coordination.

Can I add a prefix or a namespace?

No. The generator produces plain ULIDs with nothing to configure beyond the count. For a custom prefix you would prepend it yourself after generation.

Free, online, and private

Free to use

ULID Generator is completely free. There is no account to create, no login, and no hidden charge or usage limit.

Runs online in your browser

It is a free online tool that runs entirely in your browser. Nothing to download or install — open the page and start using it right away.

Your data stays private

All processing happens locally on your device. Your input is never uploaded, stored, or tracked, so it never leaves your browser.

How ULID Generator behaves in detail

These are the specifics of this implementation — the exact ranges, defaults and fixed settings you are working with.

Parameter Value
Input a Count field starting at one, with a form range of one to one hundred
Output one ULID per line, each twenty-six characters long
Structure the first ten characters are the epoch milliseconds in uppercase base36, zero-padded, and the last sixteen are random
Alphabet the random half uses Crockford base32 - the digits and letters with I, L, O and U removed to avoid confusion
Sortability because the timestamp leads, two ULIDs from one run share the same prefix and sort in chronological order
Count clamp the requested count is clamped to the window from one to one hundred

Compiled from the implementation of this tool and checked against it by itoolnet.

What ULID Generator does not do

Knowing the edges of a tool saves more time than another list of its features. These are the cases where it will not do what you might expect.

  • The timestamp is taken from the clock at millisecond precision, so two ULIDs generated in the same millisecond are distinguished only by their random half. That makes ordering within a burst arbitrary, and there is no guarantee of uniqueness across separate machines or processes.
  • The random half is eighty bits from the cryptographically secure generator, mapped through a modulo over a thirty-two-symbol alphabet - uniform because two hundred and fifty-six divides evenly by thirty-two, but still only one hundred and twenty-eight bits of entropy overall.
  • There is nothing to configure beyond the count. No prefix or namespace, no uppercase or lowercase option, no seeded or deterministic mode, and no copy of a single ULID separate from the rest of the lines.

Tested and documented by itoolnet, the team that builds and maintains this site.

Share & embed this tool

Writing a guide or article? You are welcome to link to ULID Generator with the snippet below. It is free, runs entirely in your browser, and needs no signup.