UUID Generator
How it works
Pick a version, choose how many identifiers you need (1 to 1,000), and the list is generated on the spot: one UUID per line, ready to copy into code, a database seed script, or a spreadsheet. Toggle Uppercase or remove Hyphens if your target system expects a different format, and hit Regenerate for a fresh batch.
A UUID (Universally Unique Identifier, also called GUID in the Microsoft world) is a 128-bit value written as 36 characters: eight-four-four-four-twelve hex digits, like `3f2b8a4e-9c1d-4e7a-b2f6-8d1c9a0e5b3d`. The first digit of the third group is the version; the following group always starts with 8, 9, a or b (the RFC 9562 variant bits).
All four practical versions are here: • v4 (random): 122 random bits from the browser's cryptographic generator. The universal default for tokens, ids and filenames. • v7 (time-ordered): a 48-bit Unix millisecond timestamp followed by random bits, so ids sort by creation time. The best choice for database primary keys: new rows land at the end of the index instead of scattering through it, which keeps B-trees compact and inserts fast. • v1 (timestamp + node): the classic 1990s layout, a 60-bit timestamp counted in 100-nanosecond intervals since 15 October 1582 plus a node identifier. Historically the node was the machine's MAC address, which is exactly why v1 leaked hardware identity. A browser cannot read the MAC, so this tool uses a random node with the multicast bit set, the substitution RFC 9562 §6.10 explicitly prescribes. Prefer v7 for new systems; v1 is here for interoperability with legacy schemas. • v5 (name-based, SHA-1): deterministic. It hashes a namespace UUID together with a name, so the same inputs *always* produce the same UUID, on any machine, forever. Use it to derive stable ids from something you already have (a URL, a domain, a file path, a tenant name) without a lookup table. Pick one of the four standard namespaces (DNS, URL, OID, X500) or paste your own. Because the output depends only on the inputs, the count selector is hidden for v5: there is exactly one answer.
(v3 is the same idea as v5 but uses MD5; it is not offered because MD5 is not available in the browser's crypto API, and v5 supersedes it. v2 is a DCE Security variant almost nobody uses, and v6/v8 are niche.)
Everything runs client-side: the ids come from your browser's own crypto API and never touch a server, which is what makes them safe for secrets and internal identifiers alike.
Frequently Asked Questions
What is the difference between UUID v4 and v7?
- v4 is 122 bits of pure cryptographic randomness; v7 starts with a 48-bit Unix-millisecond timestamp followed by random bits, so v7 ids sort chronologically. Use v7 for database primary keys (better index locality, faster inserts), and v4 when ids must not reveal when they were created.
Why does v1 not use my MAC address?
- Because a browser has no access to it, and that is a feature rather than a gap. Leaking the MAC address was v1's notorious flaw (it is how the Melissa virus author was traced in 1999). RFC 9562 §6.10 allows replacing the MAC with a random node identifier that has the multicast bit set, which is what this tool does and what every JavaScript implementation does. The UUIDs are valid v1 and interoperate normally.
When should I use v5 instead of v4?
- When you want the same input to always yield the same id. Deriving a stable UUID for a URL, a domain, a file path or a tenant name means any service can compute the same id independently, with no shared database or lookup table. Use v4 when you want unpredictability: v5 is trivially reproducible by anyone who knows the namespace and name, so it must never be used as a secret or token.
What are the standard v5 namespaces?
- RFC 9562 defines four: DNS (6ba7b810-…) for hostnames, URL (6ba7b811-…) for URLs, OID (6ba7b812-…) for ISO object identifiers, and X500 (6ba7b814-…) for X.500 distinguished names. You can also supply any UUID of your own as a private namespace, which is the usual approach inside an application.
Can two generated UUIDs ever collide?
- Theoretically yes, practically no. For v4 you would need to generate about 2.7×10¹⁸ UUIDs to reach a 50% chance of a single collision. Every id here is produced with the browser's cryptographically secure random generator, the same quality a backend library would use.
Is a GUID the same thing as a UUID?
- Yes. GUID (Globally Unique Identifier) is Microsoft's name for the same 128-bit RFC 9562 structure. .NET, SQL Server and the Windows APIs say GUID; almost everyone else says UUID. The formats are byte-for-byte identical.
Why would I remove the hyphens?
- Because some systems store or compare UUIDs as a plain 32-character hex string: Oracle RAW(16) columns, some REST APIs, URL slugs where the dashes are noise. The no-hyphen toggle outputs the same 128 bits without separators, and any standard parser can reinsert them.
Are the generated UUIDs sent to a server?
- No. Generation uses the Web Crypto API inside your browser tab, and the page makes no network request when you generate or copy. You can verify in DevTools → Network. That means the ids are safe to use as secrets, API key suffixes, or database seeds.
Which version does crypto.randomUUID() produce?
- v4 only. This tool uses that built-in API for v4 and implements RFC 9562 v7 on top of crypto.getRandomValues: the same randomness source, with the timestamp prefix added.
UUID versions at a glance
The versions you will actually encounter, and when each one is the right pick. A ✓ marks the versions this tool generates.
| Version | Built from | Sortable by time | Typical use |
|---|---|---|---|
| v1 ✓ | Timestamp (since 1582) + node id | Yes | Legacy schemas. Classically leaked the MAC; here the node is random per RFC 9562 §6.10 |
| v3 | MD5 hash of namespace + name | No | Superseded by v5. Not offered: MD5 is absent from the browser crypto API |
| v4 ✓ | 122 random bits | No | The universal default: tokens, ids, filenames |
| v5 ✓ | SHA-1 hash of namespace + name | No | Deterministic ids: same inputs always give the same UUID. Never use as a secret |
| v7 ✓ | Unix ms timestamp + random bits | Yes | Database primary keys, event logs, anything indexed |
Versions defined by RFC 9562 (May 2024), which supersedes RFC 4122.