UUID Generator
Generate random (v4) or time-ordered (v7) UUIDs. Everything runs locally in your browser; nothing you generate is sent to Docspira.
Version
Quantity
Formatting
Generated UUIDs are never sent to Docspira. Learn more.
Validate a UUID
About UUID v4 and v7
UUIDs are generated per RFC 9562. v4 is fully random (122 random bits); v7 embeds a millisecond Unix timestamp so values sort roughly in creation order, which is useful as a database primary key. Both have an extremely low collision probability, not a mathematical guarantee of uniqueness.
What this tool does
Generate UUIDs for records, test data, and identifiers.
How to read a UUID
01a0e7f0-0dd6-74c0-9b94-53baa32cc282
│ │
│ └─ variant: 8, 9, a or b for standard UUIDs
└────── version: the first digit of the third group
A UUID is 128 bits written as 32 hexadecimal digits in five groups (8-4-4-4-12). The first digit of the third group tells you the version, which tells you how it was made. Paste any UUID into Validate a UUID above to check it and see its version.
| Version | How it's made | You'll see it in |
|---|---|---|
| v1 | Timestamp plus the machine's MAC address | Older systems. Leaks when and where it was created |
| v3 / v5 | Hash of a namespace and a name (MD5 / SHA-1). Same input, same UUID | Deterministic IDs derived from names or URLs |
| v4 | 122 random bits | The default almost everywhere |
| v7 | 48-bit millisecond timestamp, then random bits | New databases and event logs that benefit from time order |
| Nil | 00000000-0000-0000-0000-000000000000 |
A placeholder for "no ID" |
v4 or v7: which should you use?
| v4 | v7 | |
|---|---|---|
| Randomness | 122 random bits | 74 random bits plus a timestamp |
| Sort order | Random | Roughly by creation time |
| Database primary key | Works, but random inserts scatter across a B-tree index and slow large tables down | Inserts land at the end of the index, like an auto-increment |
| Reveals anything? | No | When it was created, to the millisecond |
| Support | Everywhere, including crypto.randomUUID() in browsers and Node.js |
Newer libraries (RFC 9562, 2024); PostgreSQL 18 has uuidv7() |
Rule of thumb: use v7 for primary keys in a new database, and v4 for anything public where the creation time shouldn't be visible (invite links, share tokens, file names).
The timestamp in a v7 UUID is readable by anyone: the first 12 hex digits are milliseconds since 1970. For 01a0e7f0-0dd6-7..., that's 0x01a0e7f00dd6, which the Unix timestamp converter turns into a date in September 2026.
Will two UUIDs ever collide?
For v4, you'd need to generate about 2.7 quintillion (2.7 × 10¹⁸) UUIDs before there's even a 50% chance that any two of them are the same. At a billion UUIDs per second, that's about 86 years. In practice, collisions come from bugs, not chance: a broken random number generator, copying the same UUID into several rows, or a v1 generator on cloned virtual machines.
Formats you may need
| Format | Example | Where |
|---|---|---|
| Lowercase with hyphens | 2bdd8f9b-30ea-4aa4-995c-9dbff49da30b |
The standard form. Use this unless something requires another |
| Uppercase | 2BDD8F9B-30EA-4AA4-995C-9DBFF49DA30B |
Some Windows and .NET tools. UUIDs are case-insensitive |
| No hyphens | 2bdd8f9b30ea4aa4995c9dbff49da30b |
Compact storage, URLs, some databases |
| Braces | {2bdd8f9b-30ea-4aa4-995c-9dbff49da30b} |
Windows registry and COM (GUIDs) |
A GUID is Microsoft's name for the same thing. The formatting options above cover all four forms, for one UUID or up to 10,000 at once.
FAQ
Are these UUIDs secure enough for tokens?
v4 UUIDs here come from the browser's cryptographic random generator (crypto.randomUUID()), so they're unpredictable. Still, a UUID is an identifier, not a secret: for passwords, API keys or session tokens, use a purpose-built secret with more randomness and proper storage.
Are the generated UUIDs sent anywhere or stored?
No. They're generated in your browser and never sent to Docspira. Nobody else has a copy.
Can I generate UUIDs in bulk?
Yes, up to 10,000 at a time, and download them as a .txt file with one UUID per line.
How do I store UUIDs in a database?
Use the native type when there is one: uuid in PostgreSQL, UNIQUEIDENTIFIER in SQL Server. In MySQL, BINARY(16) takes less than half the space of CHAR(36).
Why does my UUID fail validation?
Common causes: a missing or extra character (it must be 32 hex digits), letters outside a–f, or a version or variant digit that doesn't match any standard version.
Before you start
Use UUIDs as identifiers, not as passwords or secrets; the tool can also inspect a UUID's version and validity.
Privacy
This tool runs in your browser; the text or file you choose is not uploaded for processing. Read the privacy details.