🆔 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.