A UUID (universally unique identifier) is a 128-bit value written as 32 hexadecimal digits in five groups, 8-4-4-4-12, such as 919108f7-52d1-4320-9bac-f847db4148a8. Systems create UUIDs independently, with no central registry, and still don't expect two to match.
UUIDs were defined in RFC 4122. RFC 9562 replaced it in 2024 and added versions 6, 7 and 8.
UUID versions
The version is the first digit of the third group. Version 1 combines a timestamp with a node ID, traditionally the network card's MAC address. Versions 3 and 5 hash a namespace and a name with MD5 and SHA-1, so the same input always gives the same UUID. Version 4 is random. Version 7 starts with the Unix time in milliseconds, so newer UUIDs sort after older ones.
This tool generates v4 and v7. It doesn't make v1, which can reveal the machine that created it, or v3 and v5, which need a namespace and a name. The inspector reads every version.
v4 or v7?
Use v4 when an ID should reveal nothing about when it was made. It has 122 random bits: 128 minus 4 version bits and 2 variant bits. Use v7 for database primary keys: new IDs arrive in order, which is friendlier to B-tree indexes than random values. A v7 has a 48-bit timestamp and 74 random bits.
In one batch, this tool makes v7 values strictly increasing, even within the same millisecond: it adds a random step to the previous value's random bits. Collisions are extremely unlikely with good randomness, but not impossible, so keep a unique constraint where a duplicate would matter.
Identifiers, not secrets
A UUID is not a password, API key or session token. RFC 9562 warns against assuming UUIDs are hard to guess, v7 shows when it was made, and v1 can show which machine made it. Use a purpose-built random secret for anything that grants access.
How to use
- Generate: choose v4 or v7, how many (1 to 1,000) and a format, then press Generate.
- Inspect: paste a UUID to see whether it is valid, its version and variant, and the time inside v1, v6 and v7 UUIDs.
- Check many at once: paste a list, one per line, to see which lines are invalid.
Features
- UUIDs come from the browser's cryptographic random generator (crypto.randomUUID and crypto.getRandomValues). Without it, nothing is generated.
- Lowercase, uppercase, without hyphens or in braces, plus the Nil and Max UUIDs.
- Accepts braces, the urn:uuid: prefix, missing hyphens and any case, and points to the first bad character.
- Shows the variant (RFC 4122/9562, Microsoft, NCS or reserved) and decodes the timestamp of v1, v6 and v7.
Common uses
- Database primary keys. Create IDs anywhere without asking the database; v7 keeps them in index-friendly order.
- Test data and fixtures for QA. Fill fixtures with fresh IDs, and test edge cases such as uppercase, braces, the Nil UUID or an unusual variant.
- Correlation IDs in logs. Tag a request with one ID and follow it across services.
- Idempotency keys. Send one UUID with a request so that a retry isn't processed twice.
- File names. Name uploads and exports without clashes.
Frequently asked questions
What is a UUID?
A 128-bit identifier, usually written as 32 hex digits in the pattern 8-4-4-4-12. Anyone can create one without coordinating with anyone else, which makes UUIDs handy in distributed systems.
Are UUIDs unique?
Not guaranteed. With a good random source, two v4 or v7 UUIDs matching is extremely unlikely, but not impossible.
What is the difference between a UUID and a GUID?
None in practice: GUID (globally unique identifier) is Microsoft's name for the same 128-bit format, often written in uppercase and in braces.
Should I use v4 or v7?
v7 for database keys and anything you want in creation order; v4 when the ID shouldn't reveal when it was made.
Is UUID v7 sortable?
Yes. It starts with a 48-bit timestamp in milliseconds, so sorting v7 UUIDs as text or bytes sorts them by creation time. UUIDs made in the same millisecond on different machines have no defined order.
Can I use a UUID as a password or token?
No. UUIDs are identifiers, not secrets, and the standard doesn't make them hard to guess. Use a purpose-built random secret instead.
How do I generate a UUID in JavaScript, Python or SQL?
JavaScript: crypto.randomUUID(). Python: import uuid, then str(uuid.uuid4()). PostgreSQL 13 or later: SELECT gen_random_uuid(); All three return version 4 UUIDs.
Is my data uploaded?
No. UUIDs are made in your browser, and what you paste never leaves your browser and isn't saved. Like the rest of the site, the page records a visit when it loads, but not your input.
Need to test a whole website, not just a snippet?
RoboQA tests real pages and user journeys in a browser: logins, forms, clicks and full flows. See what RoboQA can test or compare plans.