UUID Generator — Random UUID v4
A UUID, or Universally Unique Identifier, is a 128-bit label written as 32 hexadecimal characters, usually grouped as 8-4-4-4-12 with hyphens, like 550e8400-e29b-41d4-a716-446655440000. Software uses UUIDs as identifiers for database rows, user accounts, files, orders and API resources, because two randomly generated UUIDs are so unlikely to collide that you can safely generate them on different computers, at different times, without ever checking with a central server. That property is what makes them universal. This free UUID generator creates version 4 UUIDs, the random kind, using your browser's built-in cryptographic random number generator, so every identifier it produces is unpredictable and suitable for real use. Generation happens entirely in your browser, and nothing is uploaded or stored. Version 4 is the most common kind of UUID. In a version 4 UUID, most of the bits are random, while a few bits are fixed so that any system reading the value can tell which version it is: the first character of the third group is always 4, and the first character of the fourth group is always 8, 9, a or b.
That leaves 122 random bits, which gives about 5.3 thousand billion billion billion billion possible values. Even if you generated a billion UUIDs every second for a hundred years, the chance of two of them being the same would still be tiny. That is why UUIDs are the standard choice when you need an identifier that is unique across systems that never talk to each other.
Generate secure random UUID version 4 identifiers. One click gives you a fresh UUID; generate ten when you need a batch.
Your UUIDs
Click Generate to create a UUID.
What Is a UUID Version 4?
A UUID is a 128-bit number, and version 4 means that 122 of those bits are chosen at random. The remaining six bits are fixed markers: four bits store the version number 4, and two bits store the variant, which tells readers that this UUID follows the standard layout. Written out, a version 4 UUID looks like xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx, where each x is a hexadecimal digit and y is 8, 9, a or b. The hyphens are only a display convention to make the value easier to read and copy; the identifier itself is the same with or without them, and some systems prefer the 32-character form with no hyphens at all. Uppercase and lowercase letters are also equivalent, since hexadecimal digits are not case-sensitive, but most tools output lowercase by default.
Why Secure Randomness Matters
Not all randomness is equal. The ordinary Math.random function in JavaScript is a pseudo-random generator designed for games and animations, not for identifiers that must be unpredictable. Its output can be guessed if an attacker sees enough values, which is a real problem if a UUID is used as a session token or a password-reset link. This tool uses crypto.getRandomValues, the browser's cryptographic random source, which draws on randomness from the operating system and is designed to be unpredictable. That is the right choice for anything security-sensitive, and it is also the right choice for ordinary identifiers, because it costs nothing extra.
How to Use
- Choose your format. Leave hyphens on for the standard 8-4-4-4-12 layout, or turn them off for a compact 32-character string. Turn on uppercase if the system you are pasting into expects capital letters.
- Click Generate One UUID for a single identifier. A fresh, random version 4 UUID appears in the results box, ready to copy.
- Click Generate 10 UUIDs when you need a batch. Ten different UUIDs are listed, one per line, which is handy for seeding a database or creating test data.
- Click Copy UUIDs to copy the result. Paste it wherever the identifier is needed. Every click generates new values; nothing is saved or reused.
Worked Example
Clicking Generate One UUID with hyphens on might produce a value in this format: 550e8400-e29b-41d4-a716-446655440000. Your actual result will be different every time, because it is random, but it will always follow the same pattern: eight hexadecimal characters, a hyphen, four more, a hyphen, then a group starting with 4, then a group starting with 8, 9, a or b, then the final twelve characters. That structure is how you can tell a version 4 UUID at a glance. With hyphens off, the same kind of value looks like 550e8400e29b41d4a716446655440000, which is 32 characters long. Turning on uppercase gives 550E8400-E29B-41D4-A716-446655440000. All three forms describe the same kind of identifier, and a system that accepts UUIDs should accept any of them, though you should check the documentation of the system you are using if it is strict about format.
Frequently Asked Questions
What is a UUID version 4?
A UUID version 4 is a 128-bit identifier in which 122 bits are random. You can recognise one because the first character of the third group is always 4 and the first character of the fourth group is 8, 9, a or b.
Are UUIDs really unique?
In practice, yes. With 122 random bits there are about 5.3 x 10^36 possible version 4 UUIDs, so the chance of two randomly generated ones colliding is vanishingly small, even when they are generated on different computers.
Should I use UUIDs with or without hyphens?
Both forms are valid and mean the same thing. The hyphenated 8-4-4-4-12 form is the standard display format and is easier to read, while the 32-character form without hyphens is common in URLs and compact storage. Use whichever your system expects.
Is it safe to use a UUID as a password or secret token?
A version 4 UUID generated with cryptographic randomness has 122 bits of unpredictability, which is strong, but a UUID is an identifier, not a password. Use a dedicated password generator for passwords, and use UUIDs for identifiers and tokens where the system expects them.
Is my generated UUID private?
Yes. Generation happens entirely in your browser using crypto.getRandomValues, and the UUID is never uploaded, stored or shared. Nobody else can see or guess the value you generated.