UUID & ULID Generator

Generate v4 UUIDs and ULIDs in bulk from a cryptographically secure random source. Fast, private and entirely client-side.

Generated locally · never uploaded
Options

Output
Generated identifiers will appear here.

About UUIDs and ULIDs

A UUID (Universally Unique Identifier) is a 128-bit value used to label information without a central authority. Version 4 is the most common variant: 122 bits of randomness plus fixed version and variant bits, written as five hyphen-separated hex groups. With that much entropy, the odds of two independently generated v4 UUIDs colliding are negligible for any realistic workload. This tool uses the browser-native crypto.randomUUID(), which draws from a cryptographically secure random number generator.

A ULID (Universally Unique Lexicographically Sortable Identifier) packs the same 128 bits differently: the first 48 bits hold the current time in milliseconds since the Unix epoch, and the remaining 80 bits are random. The value is encoded as 26 characters in Crockford base32, so ULIDs generated later sort after earlier ones in plain string comparison — handy for database keys and log ordering. Here the timestamp comes from the Date API and the 80 random bits from crypto.getRandomValues(), so generation stays fast, offline and secure.

Frequently asked questions

Are these UUIDs and ULIDs cryptographically secure?
Yes. Every identifier is produced in your browser with crypto.randomUUID() and crypto.getRandomValues(), both backed by a cryptographically secure random source. Nothing is generated on a server, so no identifier is ever transmitted or logged.
What is the difference between UUID v4 and ULID?
A UUID v4 is 128 bits of (mostly) random data written as 36 characters, e.g. f47ac10b-58cc-4372-a567-0e02b2c3d479. A ULID is also 128 bits but encodes a 48-bit millisecond timestamp followed by 80 random bits, rendered as 26 Crockford base32 characters, e.g. 01ARZ3NDEKTSV4RRFFQ69G5FAV. ULIDs are lexicographically sortable by creation time, which UUID v4 values are not.
Are ULIDs sortable and collision-resistant?
ULIDs sort naturally in string or binary form because the leading 48 bits are the creation timestamp in milliseconds. Within the same millisecond the ordering is random, and the 80 bits of entropy make collisions astronomically unlikely across normal workloads.
Are the generated values case sensitive?
UUIDs are conventionally lowercase but compared case-insensitively. ULIDs use Crockford base32, which deliberately excludes the letters I, L, O and U to avoid ambiguity, and are conventionally uppercase.