HCODX/ULID Generator
100% browser-based · Cryptographically secure · No upload

ULID Generator

Generate ULID identifiers in your browser. 128-bit, lexicographically sortable, 26-character Crockford base32 encoding. The first 10 chars encode a 48-bit Unix timestamp; the last 16 are cryptographic random. Bulk-generate up to 1,000. Powered by the Web Crypto API.

Options
Generated IDs
Try UUID instead
Count
0 IDs
Output size
0 B
Bytes
Status
Ready
Example

Anatomy of a ULID

128 bits, encoded as 26 Crockford base32 characters. First 10 chars: 48-bit Unix-ms timestamp. Last 16 chars: 80 random bits.

Sample
01ARZ3NDEKTSV4RRFFQ69G5FAV
└────────┘└──────────────┘
 timestamp     random
 48 bits      80 bits
 10 chars     16 chars
Lex-sortable
01HMZ... < 01HN0... < 01HN1...

Newer IDs sort after older IDs.
Great for DB primary keys —
no random insertion in B-tree.
Use cases

What you'll use this for

UUIDs are the universal "give me a unique identifier" tool — no central coordination required.

Time-ordered PKs

DB primary keys that sort by creation order — better B-tree locality than random UUIDs.

Event logs

Distributed event identifiers that naturally sort by time without needing a separate timestamp column.

URL-safe IDs

26 chars of Crockford base32 — no I/L/O/U confusion, all URL-safe.

Distributed systems

Generate IDs on any client without coordination — collisions are negligible (80 bits of entropy per ms).

Step by step

How to generate ULIDs

1

Set how many

Pick 1 to 1,000. ULIDs generated in the same call share the same timestamp prefix.

2

Monotonic mode

When several ULIDs land in the same millisecond, the random part increments to preserve ordering within that ms.

3

Pick case

Default is UPPERCASE (per spec). Toggle to lowercase if your library uses that.

4

Copy or download

Copy all to clipboard or save as .txt. Generation is local — nothing uploaded.

FAQ

Frequently asked questions

A ULID (Universally Unique Lexicographically Sortable Identifier) is a 128-bit identifier with a 48-bit Unix-ms timestamp prefix followed by 80 random bits, encoded in Crockford base32 (26 chars). See the spec.

Pick ULID when you want IDs that sort by insertion time — better DB index locality. Pick UUID v4 when you want fully opaque random IDs with no time leakage.

If you generate multiple ULIDs in the same millisecond, monotonic mode increments the random portion by 1 instead of re-rolling. This guarantees ordering within a millisecond as well as across them.

Crockford base32 excludes I, L, O, U — characters that humans easily confuse. The result is URL-safe, double-click selectable, and case-insensitive on input.

Yes. No signup, no limits, no ads. Generation happens entirely in your browser via the Web Crypto API.

About

About ULIDs

A ULID packs a millisecond-precision timestamp plus 80 random bits into a 128-bit identifier, encoded as 26 Crockford base32 characters. See the official spec.

Layout

  • Timestamp — 48-bit unsigned Unix-ms (good through year 10889).
  • Randomness — 80 bits per millisecond — 1.2 × 10^24 unique values.
  • Encoding — Crockford base32: 0-9 and A-Z minus I, L, O, U.
  • Length — always 26 characters.

Compared to other IDs

  • UUID v4 — 36 chars, fully random, not sortable.
  • ULID — 26 chars, time-sortable.
  • UUID v7 — 36 chars, time-sortable (newer RFC 9562 alternative).
  • Snowflake — 64-bit, requires coordinator; ULID needs none.
Related

Related tools