UUID Generator

Generate random UUIDs (version 4), time-ordered UUIDs (version 7) or GUIDs — one at a time or a thousand at once — in the format your code expects, and inspect any UUID you paste. Values come from your browser's cryptographic random source and are never sent anywhere.

What you can do here

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

VersionBuilt fromSortableUse it for
v4122 random bitsNoGeneral IDs, tokens in URLs, anything where order does not matter
v748-bit Unix millisecond timestamp + 74 random bitsYes, by creation timeDatabase primary keys: inserts stay sequential and indexes do not fragment
v160-bit timestamp (100 ns since 1582), clock sequence, nodeNot lexicallyLegacy systems that expect v1; this tool uses a random node, not your MAC address
NilAll 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.