What you can do here
- Generate a random UUID (version 4), the right default for most IDs
- Generate UUID v7: time-ordered, so new rows land at the end of a database index
- Generate UUID v1: timestamp-based, with a random node instead of your MAC address
- GUID generator: uppercase v4 as used by .NET, SQL Server and Windows, with optional braces
- Bulk UUIDs: up to 1,000 at once as plain lines, a JSON array or a SQL
IN (...)list - Inspect a UUID: version, variant and the embedded timestamp of v1 and v7 values
Links: ?mode=uuid (v4), ?mode=v7, ?mode=v1, ?mode=guid, plus &count=50 for a batch.
What is a UUID (or GUID)?
A UUID (Universally Unique Identifier) is a 128-bit value written as 32 hex digits in five groups, 8-4-4-4-12. It is designed so anyone can generate one without a central authority and still be practically certain it will never clash with anyone else's. GUID (Globally Unique Identifier) is Microsoft's name for exactly the same format; .NET and SQL Server usually display it in uppercase.
Reading a UUID
3f2504e0-4f89-41d3-9a0c-0305e82c3301
^ ^
| variant: 8, 9, a or b = RFC 9562 (formerly RFC 4122)
version: 4 = random, 7 = Unix-time ordered, 1 = Gregorian time
UUID v4 vs v7 vs v1
| Version | Built from | Sortable | Use it for |
|---|---|---|---|
| v4 | 122 random bits | No | General IDs, tokens in URLs, anything where order does not matter |
| v7 | 48-bit Unix millisecond timestamp + 74 random bits | Yes, by creation time | Database primary keys: inserts stay sequential and indexes do not fragment |
| v1 | 60-bit timestamp (100 ns since 1582), clock sequence, node | Not lexically | Legacy systems that expect v1; this tool uses a random node, not your MAC address |
| Nil | All zeros | — | A placeholder meaning “no UUID” |
When to use UUIDs instead of auto-increment IDs
Use UUIDs when several services or clients create records independently, when you merge data from multiple databases, or when you do not want IDs to reveal how many records exist. Auto-increment integers are smaller (4–8 bytes vs 16) and index slightly better, which is fine for a single database. If you choose UUID keys, prefer v7 so inserts stay in order. A UUID is hard to guess but it is not a secret: never use one alone as an access token.
Storing UUIDs
PostgreSQL has a native uuid type. In MySQL use BINARY(16) with UUID_TO_BIN() (or CHAR(36) for readability). SQL Server uses UNIQUEIDENTIFIER. SQLite stores them as TEXT or a 16-byte BLOB.
Common questions
Can two UUIDs ever be the same?
In practice, no. A v4 UUID has 2122 possible values; you would need to generate about a billion per second for 85 years to reach a 50% chance of one collision.
What is the difference between a UUID and a GUID?
None in the value. GUID is Microsoft's name for the same 128-bit format; GUIDs are usually shown in uppercase and sometimes in braces, {3F2504E0-4F89-41D3-9A0C-0305E82C3301}. Choose GUID above for that style.
Which UUID version should I use?
v4 for general-purpose IDs; v7 for database primary keys and anything you want sortable by creation time. Use v1 only when a system requires it.
How are these UUIDs generated?
Random bits come from crypto.getRandomValues(), the browser's cryptographically secure generator (the same source as crypto.randomUUID()). v7 and v1 also embed the current time. Nothing is generated on or sent to a server.
How do I generate many UUIDs at once?
Set How many (up to 1,000), pick a format such as a JSON array or SQL IN list, and click Generate. Copy or download the batch as a text file.
Can I get the creation time back from a UUID?
For v7 and v1, yes: paste it into Inspect a UUID to see the embedded timestamp. v4 UUIDs contain no time information.