Skip to main content
smnify.

ULID generator

A ULID is a 26-character ID made of a 48-bit millisecond timestamp and 80 random bits, written in Crockford Base32. It sorts alphabetically by creation time and is shorter than a UUID's 36 characters. This page opens on ULID and generates values locally.

Runs in your browser

Free, no sign-up. Identifiers are generated in your browser with crypto.getRandomValues. Nothing is sent to a server or kept in storage.

UUID / ULID Generator

Generate secure UUID v4 values or sortable ULIDs in your browser.

Current Mode

ULID

ULID is sortable by creation time and compact, making it useful for logs, database rows, and event IDs.

How to use the UUID / ULID Generator

  1. Choose the type: UUID v4 (random), UUID v7 (time-ordered) or ULID (time-ordered, shorter).
  2. Set the number of identifiers between 1 and 100. Values outside that range are clamped.
  3. Press Generate. Changing the type also generates a new list; changing only the count does not until you press Generate.
  4. Copy a single identifier with its Copy button, use Copy all for the whole list, or press Download .txt to save one identifier per line.

Worked example

Sample data

Input
Type: ULID, count: 1
Output
01ARZ3NDEKTSV4RRFFQ69G5FAV

This is the example ULID from the ULID specification. The first 10 characters (01ARZ3NDEK) encode the time and the last 16 are random. Your values will differ.

Good to know

Crockford Base32 leaves out the letters I, L, O and U, which avoids look-alike characters when an ID is read aloud or typed by hand.

How it works

UUID v4: random

A UUID is 128 bits shown as 32 hex digits in groups of 8-4-4-4-12. Version 4 fills almost all bits from crypto.getRandomValues, then sets the version bits to 0100 (the leading 4 of the third group) and the variant bits to 10 (so the fourth group starts with 8, 9, a or b).

That leaves 122 random bits. Collisions are possible in theory but so unlikely that you can treat them as unique in practice; uniqueness is probabilistic, not guaranteed.

random bits = 128 - 4 (version) - 2 (variant) = 122

UUID v7: sortable by time

Version 7 begins with a 48-bit Unix timestamp in milliseconds, followed by the version digit 7, the variant bits and random bits. Because the time comes first, v7 values sort roughly in creation order, which is friendlier to database indexes than fully random v4 values.

The timestamp is visible in the identifier, so v7 reveals approximately when it was created.

ULID: sortable and compact

A ULID is 26 characters of Crockford base32: 10 characters for a millisecond timestamp and 16 characters of randomness. The alphabet leaves out I, L, O and U to avoid look-alikes.

Within the same millisecond this tool increments the previous random part by one, so ULIDs created together stay in strictly increasing order.

Choosing a type

Use v4 when you want opaque identifiers that reveal nothing. Use v7 or ULID when you want identifiers that index well and sort by creation time.

None of these are secrets or access tokens. Anyone who sees an identifier can use it, so do not rely on it for authorization.

Inputs, outputs and limits

Inputs

  • Identifier type: UUID v4, UUID v7 or ULID
  • Count from 1 to 100

Outputs

  • A list of identifiers, one per line
  • Copy for a single identifier or the whole list
  • A .txt download

Limits

  • Up to 100 identifiers per run; larger counts are clamped to 100
  • Uniqueness is probabilistic, not checked against any database
  • Identifiers are not stored, so the list is lost when you leave the page

Processing

  • Identifiers are generated in your browser with crypto.getRandomValues. Nothing is sent to a server or kept in storage.

Frequently asked questions

ULID or UUID v7?

Both sort by time. UUID v7 is a standard format that fits uuid columns; a ULID is shorter and easier to read. Pick the one your database and libraries already handle.

Is the order exact within the same millisecond?

Not by default. Two ULIDs from the same millisecond sort by their random part, so their order is arbitrary unless a library adds a monotonic counter.

Does a ULID reveal when it was made?

Yes. The first 10 characters are a timestamp and can be decoded.

Is anything sent to a server?

No. IDs are made in your browser with its secure random generator.

More ways to use the UUID / ULID Generator

Need a custom internal tool or integration?

We build internal tools, APIs and integrations that fit your team's workflow, from a single admin screen to a full backend.