UUID v7, ULID, NanoID & CUID2 Generator

Generate universally unique identifiers and modern alternatives — UUID v4/v7/v1, ULID, NanoID and CUID2. Randomness comes from your browser's cryptographic generator (crypto.getRandomValues). Click any value to copy it.

{{meta.kind}} {{meta.note}} {{meta.bits}} bits {{current.length}} chars
Type & format
{{v.tag}}
strip “-”
A–F
{…}
Encode
as-is
from bytes
from bytes

{{namespaceError}}

Deterministic: the same namespace + name always produces the same {{version}} UUID — nothing here uses crypto.getRandomValues.

Quantity
Batch {{batch.length}}
{{i+1}} {{id}}
Decode a UUID
About this toolwhen to use which

UUID v4 — 122 random bits. The safe default when you just need a collision-resistant identifier and don't care about ordering.

UUID v7 — a 48-bit Unix millisecond timestamp followed by random bits. Time-sortable, which keeps database indexes tidy while staying unique.

UUID v1 — timestamp plus a node id. Here the node and clock sequence are randomized (no real MAC address is exposed).

UUID v3 / v5 — deterministic, not random: an MD5 (v3) or SHA-1 (v5) hash of a namespace UUID plus a name. The same namespace + name always produces the same UUID, which is the point — use it to derive a stable id for something you can name consistently (a URL, a file path) without a database round-trip. v5 is the one to prefer for new use; v3 exists mainly for interop with older systems that still expect MD5. Neither is reversible — the name cannot be recovered from the UUID.

ULID — 26-character Crockford Base32, lexicographically sortable and case-insensitive. Compact and URL-friendly.

NanoID — 21-character URL-safe id (A–Z, a–z, 0–9, _-). Shorter than a UUID with comparable collision resistance.

CUID2 — a lowercase, hash-derived id designed to be hard to guess and safe in URLs. This is a compatible implementation using SHA-256.

Everything runs offline in your browser. Nothing is transmitted, logged, or stored.