Version 4 UUIDs are built from 16 bytes of window.crypto.getRandomValues. Six bits are fixed by the standard for the version and variant, leaving 122 random bits. Generation happens entirely in your browser.
A UUID is a 128-bit identifier written as 32 hexadecimal digits in the familiar 8-4-4-4-12 pattern. This generator produces version 4 UUIDs, the random kind, using window.crypto.getRandomValues for the 16 bytes and then setting the version and variant bits exactly as RFC 4122 requires. That leaves 122 random bits, which is why two independently generated v4 UUIDs realistically never collide.
Generate a single value for a quick test, or up to 500 at once when you need to seed a database table or a fixtures file. Output can be a plain list or a JSON array ready to paste into code. The formatting options cover the variations different systems expect: uppercase letters, hyphens stripped for compact storage, and the braced form used by Microsoft tooling and the Windows registry.
How to use the UUID Generator
- Choose version 4 for a random UUID, or the nil UUID if you need the reserved all-zero placeholder.
- Set how many you want, from 1 to 500.
- Pick a plain list or a JSON array, and tick uppercase, no hyphens or braces if your target format needs them.
- Press Generate UUIDs, then Copy all.
Frequently asked questions
Can two v4 UUIDs ever be the same?
In theory yes, in practice no. With 122 random bits you would need to generate about 2.7 quintillion UUIDs before reaching a one in a billion chance of any collision. The real risk is a weak random source, which is why this tool uses the browser cryptographic generator.
What is the nil UUID for?
The nil UUID, 00000000-0000-0000-0000-000000000000, is a reserved value defined by RFC 4122 that means no identifier. It is handy as a default column value, a sentinel in tests, or a placeholder in an API payload where a real UUID is not yet known.
How can I tell which version a UUID is?
Look at the first character of the third group. A 4 there means version 4. The first character of the fourth group encodes the variant and will be 8, 9, a or b for standard RFC 4122 UUIDs. Both are visible in every value this tool produces.
Should I use a UUID as a database primary key?
It works well when identifiers must be generated by clients or merged across systems without coordination. The trade-off is size and index locality: random v4 values scatter inserts across a B-tree. Many teams use UUIDv7, which is time-ordered, when write throughput matters.