Also available in: Español · Português · Français · العربية
Free UUID Generator: Bulk UUID v4 / GUID Values
Generate up to 100 version 4 UUIDs at once, in four formats, entirely in your browser — no server ever sees them.
What is a UUID generator?
A UUID generator produces universally unique identifiers — 128-bit values used across software to label rows, sessions, files and API resources without any central authority handing out numbers. This tool generates both version 4, the random variant that most people mean when they search for a UUID generator or a GUID generator (GUID being Microsoft's older name for the same 36-character value), and version 7, the time-ordered variant standardised in 2024.
Every UUID here follows the standard 8-4-4-4-12 layout: 32 hexadecimal digits split by four hyphens, 36 characters in total. Generate one for a quick test, or generate up to a hundred at once for seeding a database or writing fixtures — the batch appears as a list, ready to copy one at a time or all together.
How to use it
- Set how many you need: use the number box or the slider to pick anywhere from 1 to 100 UUIDs — it starts at 10.
- Choose a format: tick any combination of Uppercase, Remove hyphens and Wrap in braces. The three checkboxes combine, so you can get braced, uppercase, hyphen-free output if that's what your tooling expects.
- Copy what you need. Click any UUID in the list to copy just that one, or use Copy all for the whole batch — both show Copied! for two seconds. Hit Generate again for a fresh set, and check the counts row underneath for how many you made and how many bits of each are actually random.
128 bits, advertised. 122 bits, real
A version 4 UUID is advertised as a 128-bit random value, but it isn't quite that. Four of those bits are spent spelling out the version, and two more mark the variant, leaving 122 bits actually free to vary. That is why the thirteenth hex digit of every UUID this tool produces is always a literal “4”, and the seventeenth is always one of 8, 9, a or b — fixed, not random, every time.
The rest was checked. Across 20,000 UUIDs generated by this tool, all 30 of the remaining free hex digits came out uniform over 0 through f, with a worst chi-square of 31.9 on 15 degrees of freedom — no detectable bias anywhere. All 20,000 were distinct, and the version and variant digits landed exactly where the spec says they should, with no exceptions in either position.
Run the collision arithmetic on the real 122 bits, not the advertised 128, and the numbers are still enormous: you would need about 103 trillion UUIDs before the odds of any two matching reach one in a billion, and about 2.7 quintillion for even odds of a single duplicate — at a billion generated every second, that is 86 years. The six pinned bits do cost something, precisely: shrinking the random space by six bits makes it 64 times smaller, but because the birthday bound is a square root, the number of UUIDs you can safely draw only drops by the square root of 64 — a factor of exactly eight.
What a UUID is not
A UUID is not a secret. A version 4 UUID is unguessable on its own — with 122 random bits, nobody is brute-forcing one — but unguessable is a different property from secret. UUIDs end up in URLs, server logs, referrer headers and analytics tools as a matter of course. Do not use one as an authentication token, and do not use one alone as a password-reset link.
This tool also makes version 4 only. Version 1 UUIDs embed a timestamp and the generating machine's MAC address, which leaks more than most people mean to publish. Version 7 UUIDs are time-ordered, which makes them a better fit for a database primary key. Neither is offered here.
That last point matters if you were about to reach for a UUID as a primary key: because version 4 values are random, consecutive inserts land all over a database index instead of at the end of it, which hurts write performance on large tables. That is what version 7 is for, and it is one click away above. Beyond that, there is nothing to worry about server-side: nothing is uploaded and nothing is saved, so reloading the page just gets you a fresh batch.
Version 7, when order matters
Version 4 is bad at the one job people most often give a UUID. Because the value is pure randomness, consecutive inserts land all over a database index instead of at the end of it, and on a large table that costs write throughput. Version 7, standardised by RFC 9562 in 2024, fixes it by putting a 48-bit Unix millisecond timestamp in the leading bits, so values sort into the order they were made. The version selector above switches between the two.
That leaves 74 bits outside the timestamp, the version and the variant, rather than 122 — still far more than enough, and the reason to reach for version 7 is the ordering, not the entropy. The timestamp is also readable: paste one into the UUID decoder and it will tell you the millisecond it was created, which a version 4 value cannot do because there is nothing in it to read.
Two values made in the same millisecond would otherwise be ordered by chance, which is a coin flip and defeats the point. RFC 9562 allows a carefully seeded counter inside the twelve bits that follow the timestamp, and that is what this generator uses: within a millisecond the counter climbs, so a batch of a hundred comes out strictly increasing. Sorting them as text restores the order they were created in, which is the whole reason the version exists.
The generator was checked against the RFC's own test vector in Appendix A.6, which pins a specific timestamp, counter and random tail to a specific 36-character string, and every value it produces is read back by this site's own UUID decoder to confirm the version, the variant and the millisecond.
Why is it free?
This generator runs entirely in your browser, using crypto.randomUUID() where it is available. That API only exists in a secure context, so over plain HTTP it falls back to drawing the same 16 bytes from the same cryptographic random source and setting the version and variant bits by hand — the output is identical either way.
Nothing is sent to a server, so there is no account to create, no watermark on the output and no paid tier gatekeeping the hundredth UUID versus the first. That is the standing deal across every tool on FreeToGenerate.com.