Skip to main content
ToolsHub

ULID Generator

Generate one or many ULIDs instantly, decode the embedded timestamp, and copy them — all in your browser, nothing uploaded.

Updated

Files never leave your browser

No ULIDs yet

Choose how many to generate and click Generate.

How to use ULID Generator

The ULID Generator creates Universally Unique Lexicographically Sortable Identifiers right in your browser. A ULID packs a 48-bit millisecond timestamp and 80 bits of cryptographic randomness into a compact 26-character Crockford base32 string, giving you IDs that are globally unique like a UUID but also naturally ordered by creation time. Generate one or thousands at once, decode the embedded timestamp from any existing ULID, and copy the results — all locally, with nothing ever sent to a server.

  1. Choose how many ULIDs you want to generate using the count input.
  2. Click "Generate" to produce the IDs using a fresh millisecond timestamp and secure randomness.
  3. Copy a single ULID, or copy the whole batch with one click for pasting into code or a database.
  4. To inspect an existing ULID, paste it into the decode field.
  5. Read the decoded creation timestamp to confirm when the ID was minted.

Your data never leaves your device — 100% private processing.

What is a ULID and how is it structured?

A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit value rendered as 26 characters of Crockford base32. The first 10 characters encode a 48-bit Unix timestamp in milliseconds, and the remaining 16 characters encode 80 bits of randomness. Because the timestamp occupies the most-significant bits and base32 preserves byte order, sorting ULIDs as plain strings sorts them by creation time. Crockford base32 deliberately excludes the ambiguous letters I, L, O and U, so the encoding is case-insensitive, URL-safe and resistant to transcription errors when IDs are read aloud or copied by hand.

ULID structure at a glance
SegmentBitsCharactersPurpose
Timestamp4810Unix time in milliseconds, sortable
Randomness8016Collision resistance within a millisecond
Total12826Compact, URL-safe identifier

ULID vs UUID: when should you choose each?

A UUIDv4 is 128 bits of pure randomness rendered as 36 hex characters with hyphens. It is excellent for uniqueness but its random layout means new rows scatter across a B-tree index, hurting insert performance and making natural ordering impossible. A ULID keeps the same 128-bit uniqueness budget but front-loads a timestamp, so inserts append near the end of the index and rows sort chronologically for free. Choose a ULID when you want database-friendly, time-ordered keys or human-readable correlation IDs. Stick with a UUID when you need a widely standardised format, when ordering could leak sensitive timing information, or when an existing system mandates the RFC 4122 layout.

Worked examples

Generate a single ULID

Inputs: Count: 1

Result: 01ARZ3NDEKTSV4RRFFQ69G5FAV

Decode a ULID timestamp

Inputs: 01ARZ3NDEKTSV4RRFFQ69G5FAV

Result: Created 2016-07-30T23:54:10.259Z

Glossary

ULID
A 128-bit, 26-character identifier combining a millisecond timestamp with random bits so that IDs are both unique and lexicographically sortable.
Crockford base32
A base32 alphabet that omits the ambiguous characters I, L, O and U, making encoded values case-insensitive and safe to read aloud.
Lexicographic sort
Ordering strings character by character; for ULIDs this coincides with chronological order because the timestamp comes first.
Monotonicity
A ULID property where IDs generated within the same millisecond can increment the random component to preserve strict ordering.
Entropy
The 80 random bits in a ULID that make collisions astronomically unlikely even at high generation rates.

Related reading

Free · No spam

Get weekly tool tips & updates

New tools, power-user tips, and productivity hacks — delivered free every Friday.

No spam, ever. Unsubscribe with one click.

Related Developer Tools

Explore all Developer Tools.