UUID v5 Generator
Generate deterministic UUIDs from a namespace and a name.
Generate ULIDs — sortable by creation time and case-insensitive.
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.
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.
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.
Paste an existing ULID to read the exact millisecond it was created and see its random half.
Crockford’s base32 leaves out I, L, O and U, so a ULID is safe to read aloud and case-insensitive to type back.
Generate ids for a specific moment, which is how you seed historical fixtures that still sort correctly.
A ULID reveals its creation time to the millisecond, and the page says so before you expose one publicly.
One at a time or up to a thousand; each carries the moment it was made.
Generated in bulk they come out in ascending order, because the timestamp leads.
Paste one to read its embedded timestamp and random half.
Take them to your clipboard or save them as a text file.
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.
They solve the same problem the same way. UUID v7 is now a standard and fits anywhere a UUID column already exists; ULID is shorter and case-insensitive. Pick UUID v7 for new work unless the 26-character form matters.
Yes, to the millisecond. That is the feature, but it is also information — do not use ULIDs as public identifiers if creation time is sensitive.
Not reliably here. The specification describes a monotonic mode that increments the random part within a millisecond; this generator produces fresh randomness each time, which is what most libraries do by default.
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.
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 reviewGenerate deterministic UUIDs from a namespace and a name.
Convert a TOML config to JSON, with tables and arrays of tables resolved.
Convert Base64 back to hexadecimal, with your choice of separator.
Check an email address against the rules that actually matter, and see why.
Estimate how long a password would survive, and see exactly what weakens it.
Encode and decode Base58 in the Bitcoin, Ripple or Flickr alphabets.
Build layered box shadows visually, with a live preview.
Serialise a JSON object into a percent-encoded URL query string.