UUID Generator
Every Version, in Bulk, With a Checker
Make up to 1,000 IDs at once with this UUID generator, in versions 1 to 7, then paste any UUID to see its version and the time it was made.
- FreePrice
- SixVersions
- NoneSign-up
- In your browserRuns
UUID Generator
Versions 1 to 7 in bulk, a reader for one UUID, and a validator for a whole pasted list
| Field | Value |
|---|
Paste any UUID to see its version, variant and, for versions 1, 6 and 7, the time it was made.
One per line, or separated by commas. Quotes, braces, brackets and the urn:uuid: prefix are understood, so you can paste straight from JSON, SQL or a spreadsheet.
| Line | What you pasted | Verdict | What it is |
|---|
Paste a list and press Validate. Every line gets its own verdict, so one unreadable line never hides the ones after it.
- Generated
- 0
- Random bits each
- 122
- Sorts by time
- —
- Lines checked
- 0
- Standard UUIDs
- 0
- Worth a look
- 0
- Not a UUID
- 0
- Repeats
- 0
Ready. Press Generate, or paste a UUID to check it.
| Result | Check | Details |
|---|
Jobs This UUID Generator Handles for You
This UUID generator makes unique IDs for databases, APIs, files and tests. Choose a version and a count, and the IDs show up instantly. From there, copy the list or keep it as a text file.
It covers every version in use today. Version 4 is pure random, version 7 sorts by time, and versions 3 and 5 turn a name into the same ID every time. There are also the older versions 1 and 6, and the special nil and max values.
The page also works the other way round. Paste any UUID, and the checker tells you its version and variant, and for time-based ones, the exact moment it was made.
What Is a UUID?
Every UUID, or universally unique identifier, is one 128-bit value. It is usually written as 32 hex digits in five groups, such as 017f22e2-79b0-7cc3-98c4-dc0c0c07398f. Because there are so many possible values, anyone can make one without asking a central server, and it will not clash with anyone else’s.
Two small parts tell you what kind of UUID it is. The third group opens with the version digit, and the fourth group opens with the variant. Everything else is time, randomness or a hash, depending on the version.
Picking the Right UUID Version for Your Project
For most jobs, use version 4. It is random, simple and supported everywhere. However, if the IDs become keys in a database table, choose version 7 instead. It starts with the time, so new rows are stored in order, which keeps inserts fast.

When the same thing must always get the same ID, use version 5. For example, a URL or an email address can be turned into a stable UUID that any system can recreate. Versions 1, 3 and 6 are mainly there for older systems that expect them.
Why Postgres and MySQL Indexes Like UUID v7
Random version 4 IDs land all over a database index, so every insert touches a different page. Over time, that slows writes and wastes memory. By contrast, UUID v7 begins with a millisecond timestamp, so each new ID lands at the end of the index, much like an auto-increment number.
This generator also keeps a batch in order. When many IDs share one millisecond, a counter in the next 12 bits keeps them sorted, just as RFC 9562, the UUID standard, recommends.
UUIDs Built From a Name: v3 and v5
Name-based UUIDs are made from two inputs: a namespace, which is itself a UUID, and a name. Both go through a hash, which is why identical inputs always produce the identical UUID. There are standard namespaces for domain names, URLs, OIDs and X.500 names, and you can also use your own.

Version 5 uses SHA-1 and version 3 uses MD5. Neither hash guards anything here. Both only spread the bits evenly. Still, choose version 5 for new work, since the standard prefers it.
Read Any UUID With the Checker
Paste a UUID into the checker and it splits apart at once. You see the standard form, the variant and the version. Versions 1, 6 and 7 also carry a timestamp. The checker shows that moment in UTC and in your own time zone.

For version 1 and 6, it also shows the clock sequence and the node. The node used to be the network card address of the computer that made it, so the checker tells you whether it looks real or random. Click any UUID in the generated list to check it too.
Check a Whole List With the UUID Validator
One UUID at a time is fine until you have four hundred of them. Instead, paste the whole list into the UUID validator and every line gets its own verdict. The page splits on spaces, commas, semicolons, pipes and line breaks. So a spreadsheet column, a JSON array and a SQL result all paste in as they are. It reads up to 5,000 IDs in one go. Anything past that count shows as skipped rather than dropping quietly.

Notably, there are three verdicts here, not two. A row counts as valid when the standard describes it. It counts as invalid when it is not a UUID at all. Between those sits the note, for a row with a correct shape that still deserves a look. For example, an old Microsoft or NCS variant is a real UUID that real systems still emit. Those two variants come from RFC 4122, the older UUID standard. Then there is the RFC variant carrying a version number nobody has assigned yet, which gets a note too. Calling any of those invalid would be a lie, because working systems hand them out every day.
Also, every rejected row says why. A line in a list can fail to read in only three ways. It holds a character outside 0-9, a-f and the hyphen. It has the wrong number of hex digits. Or it has all 32 digits with the hyphens in the wrong places. The first two usually mean a copy that caught a stray character, or one that clipped a digit mid-paste. The third is a UUID whose hyphens sit somewhere other than after the 8th, 12th, 16th and 20th digit. The row says exactly that. Blank lines are not errors at all, because the list skips them before the count begins.
Wrapping comes off before the check, because real lists arrive wrapped. The page strips quotes, backticks, square brackets, angle brackets, round brackets and a trailing colon or full stop. It strips the urn:uuid: prefix too. Curly braces get more care than that. A Microsoft GUID in braces reads whole, while a stray brace from a JSON object simply goes. In addition, a bare run of 32 hex digits with no hyphens still reads. So does any mix of capital and small letters. A word that was never an ID, such as a JSON key, still gets its own row rather than disappearing. That way the count stays honest about everything in the paste.
Next, the validator looks for duplicates across the whole list. The comparison runs on the canonical form. So {X}, urn:uuid:X and the same ID in capitals all count as one. The repeated row then points back to the line it first appeared on. Two identical junk lines, on the other hand, never count as duplicates. A row that is not a UUID has no canonical form to compare. After that, the summary counts the list for you. You see how many lines went through, and how many the standard describes. Three more counts cover the rows worth a look, the rows that are not UUIDs at all and the repeats.
Those counts stay apart on purpose, and the reason matters. A noted row has a correct shape rather than a broken one. Folding it into one pass-or-fail number would hide the only thing worth noticing about it. However, if you only want the problems, the filter leaves the rows that are not UUIDs in view. Noted rows keep their place and their reason. Finally, the report copies out whatever the screen shows, so the list can go straight into a ticket.
UUID or GUID?
Both names describe one identical thing. GUID stands for globally unique identifier, the Microsoft term for a UUID. So this page works as a GUID generator too: turn on capital letters and curly braces, and you get the {XXXXXXXX-XXXX-...} style that Windows and .NET often show.
Very old GUIDs from COM used a different variant. The checker spots those and labels them, so you know when an ID came from that older scheme.
The Real Odds of Two Random UUIDs Matching
Of the 128 bits in a v4 UUID, 122 are random. So you would need about 2.7 quintillion IDs before the chance of one repeat reaches 50%. In practice, a bug in your own code is far more likely than a repeat.
Time-based versions use fewer random bits, but they add the time. As a result, two IDs can only clash if they are made in the same millisecond and also draw the same random bits. The Wikipedia article on UUIDs works through the numbers in detail.
UUIDs or Auto-Increment Numbers?
Auto-increment IDs are short and fast, but they have limits. First, only the database can hand them out, so an app must wait for an insert before it knows the ID. Second, they leak information, because order 1043 tells anyone that you have about a thousand orders.
UUIDs solve both problems. Any server, phone or browser can make one offline, and the IDs from different systems can be merged without clashes. On the other hand, they take more space, which is why version 7 and binary storage matter on large tables.
UUIDs in Your Code
The format switches cover the common needs. Remove the hyphens for compact storage, add the urn:uuid: prefix for XML and RDF, or wrap each ID in quotes with commas, ready to paste into an array or a SQL list.
Most databases have a native type for UUIDs. PostgreSQL has uuid, SQL Server has uniqueidentifier, and in MySQL the usual choice is BINARY(16). For timestamps inside your data, our Unix timestamp converter turns them into dates and back.
Can You Rely on These UUIDs in Production?
Yes. The random bits come from your browser’s secure random source, the Web Crypto getRandomValues function, which is built for keys and tokens. Nothing is sent to our server, so no one else ever sees the IDs you make.
Remember that a UUID is an ID, not a secret. Whoever sees a UUID can reuse it. For passwords and API keys, use our password generator instead.
Generating a UUID on Denwix
Five fresh version 4 UUIDs wait for you as the page opens.
- 1
Pick a version
Version 4 for general use, version 7 for database keys.
- 2
Choose how many
Anything from 1 to 1,000 in one go.
- 3
Set the format
Capitals, hyphens, braces, a URN prefix or quotes.
- 4
Copy or download
Copy all the IDs with one click, or save them as uuids.txt.
Built for Developers
A basic GUID generator gives you one random ID. These details cover the rest of the job.
Every version
Every version from v1 to v7 except v2, plus nil and max.
Sorted v7 batches
A counter keeps IDs in order inside one millisecond.
Built-in checker
Version, variant and creation time of any UUID.
Ready for code
Braces, URN, no hyphens, or quoted with commas.
Tested to the standard
Checked against the test values in RFC 9562.
Private by design
Your browser creates each ID, and Denwix never receives it.
Habits for Working With UUIDs
Follow these, and your IDs stay fast, safe and easy to read.
- Store them as binary. 16 bytes take far less space than a 36-character string.
- For primary keys in Postgres or MySQL, choose v7. Time order keeps database indexes compact and quick.
- Keep one text form. Pick lower case with hyphens and stick to it everywhere.
- Do not rely on a UUID to keep anything private. IDs appear in URLs and logs, so do not use them as passwords.
- Compare them without case. A and a are the same hex digit, so match both.
- Use v5 for stable IDs. The same name always gives the same UUID.
Six Mistakes With UUIDs
Each one causes slow queries, broken lookups or leaks.
Random keys on huge tables
Version 4 keys scatter inserts and slow them down.
Making IDs with Math.random
It is not a secure source, so repeats become likely.
Switching between capital and small hex letters
Exact string matches then miss the same ID.
Using v1 with a real MAC address
It reveals the computer that made the ID.
Storing them as long text
A 36-character string wastes space in every index.
Using the nil UUID as an ID
It means no value, and it is the same everywhere.
UUID Generator Questions People Ask
What are the steps to make a UUID on Denwix?
Open this page. Five version 4 UUIDs are ready at once, and Generate makes a fresh set.
Is a GUID any different from a UUID?
In real use, the difference is nil. GUID is simply the Microsoft label for that same 128-bit ID.
Which UUID version should a new app use?
Version 4 for general use, version 7 for database keys, and version 5 when the same name must always give the same ID.
What is UUID v7?
A newer version that starts with the Unix time in milliseconds, so the IDs sort by the time they were made.
Could Denwix ever hand out the same v4 UUID twice?
In theory yes, but for version 4 you would need about 2.7 quintillion of them for a 50% chance of one repeat.
How many UUIDs can I make at once?
Up to 1,000 per click. Press Generate again for more.
Can I check a whole list of UUIDs at once?
Yes. Paste up to 5,000 into the UUID validator and every line gets its own verdict. A failing row also carries its reason, and a repeat points back to the earlier row number.
Why does the validator call some IDs valid with a note?
Because they are real. An old Microsoft or NCS variant has a correct shape. So does a version nobody has claimed yet. The row therefore names what is unusual instead of calling the ID broken.
Can I see when a UUID was made?
Yes, in v1, v6 and v7. Paste it into the checker to see the date and time.
Is a UUID case-sensitive?
No. Lower and upper case mean the same value, but the standard prefers lower case.
Is the randomness in these UUIDs strong enough?
Yes. They draw on the browser’s secure randomness, the same source encryption keys come from.
Does Denwix keep a copy of the UUIDs I make?
No. Your browser builds them, and none of them reach Denwix.
More Tools for Developers
Handy next steps when you work with IDs and data.
Hash Generator
MD5, SHA-1, SHA-256 and more for any text or file.
Open tool →Password Generator
Tough passwords and word-based passphrases, generated on your own device.
Open tool →Unix Timestamp Converter
Epoch numbers to dates and back, for every time zone.
Open tool →
Ready for Your Next Batch of IDs?
Pick a version and press Generate. This UUID generator is free, needs no account and works in your browser.