Skip to content

ULID Generator

Generate ULIDs — sortable by creation time and case-insensitive.

Quick Tool Overview

The ULID Generator produces 26-character identifiers that sort by creation time, and decodes existing ones back to the millisecond they were made. Crockford’s alphabet keeps them case-insensitive and unambiguous.

What it does
Generates and decodes ULIDs
You give it
A quantity, or an existing ULID
You get back
Sortable IDs, or a decoded timestamp
Best for
Database keys that index cleanly
Developer Tools Free, unlimited use No sign-up Runs in your browser

About the ULID Generator

A ULID is 26 characters: 48 bits of millisecond timestamp followed by 80 random bits, written in Crockford's base32. Because the time comes first and the encoding preserves order, sorting ULIDs as strings sorts them by creation time.

That is the whole reason to prefer one to a UUID v4. Random primary keys scatter inserts across a B-tree index and fragment it; time-ordered keys append, which is dramatically faster on a large table. Crockford's alphabet also excludes I, L, O and U, so a ULID is safe to read aloud and case-insensitive to type. The decoder works the other way, pulling the creation time back out of an existing ULID.

Key features of the ULID Generator

Sorts by creation time

The timestamp leads the value, so sorting as text sorts by when each id was made — which is what saves a B-tree index from fragmenting.

Decoder included

Paste an existing ULID to read the exact millisecond it was created and see its random half.

Unambiguous alphabet

Crockford’s base32 leaves out I, L, O and U, so a ULID is safe to read aloud and case-insensitive to type back.

Custom timestamps

Generate ids for a specific moment, which is how you seed historical fixtures that still sort correctly.

Honest about the trade-off

A ULID reveals its creation time to the millisecond, and the page says so before you expose one publicly.

How to use the ULID Generator

  1. 1

    Generate

    One at a time or up to a thousand; each carries the moment it was made.

  2. 2

    Check the ordering

    Generated in bulk they come out in ascending order, because the timestamp leads.

  3. 3

    Decode an existing ULID

    Paste one to read its embedded timestamp and random half.

  4. 4

    Copy or download

    Take them to your clipboard or save them as a text file.

Frequently asked questions

Because it sorts by creation time. Random keys fragment a database index; time-ordered ones append cleanly, which is a large difference on a table with millions of rows.

Reviews of the ULID Generator

What people who use the ULID Generator think of it. Reviews come from visitors and are posted as written.

No ratings yet

Yours would be the first.

  • 5 0 reviews rated 5 stars
  • 4 0 reviews rated 4 stars
  • 3 0 reviews rated 3 stars
  • 2 0 reviews rated 2 stars
  • 1 0 reviews rated 1 star

Write a review

Used this tool? Your rating helps the next person decide.

Your rating

Plain text only — links, email addresses and HTML are not accepted. Your name and review are shown publicly; nothing else is collected. See the privacy policy.

0 reviews

Newest first

No reviews yet

Be the first to rate the ULID Generator. It takes half a minute and no account.

Write the first review

More developer tools