🆔 UUID Generator
Random v4 UUIDs like 8f14e45f-… — plus time-sortable v7, ULID and NanoID, and a decoder — up to 1,000 at a time.
Random UUID (RFC 9562 v4) via crypto.getRandomValues — 122 bits of entropy. 🔒 Generated entirely in your browser.
How the uuid generator works
UUID v4 comes from crypto.randomUUID(), the browser’s built-in RFC 4122/9562 generator: 122 random bits plus 6 fixed version/variant bits, in the familiar 8-4-4-4-12 hex groups. This tool also generates time-sortable UUID v7 (RFC 9562, 2024), ULID and NanoID, and can decode a UUID or ULID to show its version and embedded timestamp. With 2¹²² possibilities, v4 collisions are not a practical concern.
The digit to check when someone asks "is this really a v4?": the third group starts with 4, and the fourth group starts with 8, 9, a or b — the fixed version and variant bits. v4 is the default "no coordination needed" identifier; for database primary keys, the time-sortable v7 (and ULID) give better index locality — use the tabs above to generate them.
Frequently asked questions
What is a version 4 UUID?
A 128-bit identifier where 122 bits are random (RFC 4122). The "4" in the third group is the version marker. It needs no central authority — randomness alone makes collisions negligible.
Can two generated UUIDs collide?
Theoretically yes, practically no: with 2¹²² values, generating billions per second for the age of the universe still leaves collision odds negligible. That is the design point.
Uppercase or lowercase?
RFC 4122 outputs lowercase and recommends case-insensitive comparison. Some ecosystems (Microsoft GUIDs) display uppercase — the toggle covers both, same value either way.
What about sortable UUIDs (v7)?
UUID v7 (RFC 9562, 2024) embeds a 48-bit millisecond timestamp for index-friendly ordering — great for database keys. This tool generates v7, ULID and NanoID too; switch tabs above.
Can I decode a UUID or ULID?
Yes — the Decode tab tells you an ID's type and version, and extracts the embedded timestamp from a v7 UUID or a ULID.
Are these generated locally?
Yes — everything uses crypto.getRandomValues on your device; nothing is requested from or sent to any server.