UUID Generator — v1, v4 & v7, in bulk online

Generate cryptographically random UUIDs in version 1, 4 or 7, one at a time or thousands in bulk, then copy them in the format you need. Free, no limits.

Result
f77b66d6-bff8-456d-a10c-a86b2a6696fd
945b659d-c78f-4208-be62-221c2bfffc6b
371446f1-88bb-4a82-8712-a9ece536a44f
2a17f0c4-cee9-44fc-bce4-cfd93d9ea671
41165964-d7cd-4d0d-bce7-2bc59d012579

About the UUID generator tool

A UUID is a 128-bit identifier written as 36 characters, and its purpose is to be unique without anyone coordinating it. Two machines that have never communicated can each generate one and rely on them not colliding. That property is what makes UUIDs the default identifier for distributed systems, offline-capable clients, database rows created on multiple servers, file names and correlation ids in logs.

Version 4 is random and the one to reach for by default. All but a few of its bits come from a cryptographic random source, giving a collision probability so small it is not worth reasoning about — you would need to generate billions per second for a century before it became a realistic concern. It carries no information about when or where it was made, which is exactly what you want when the identifier will be publicly visible.

Version 7 is the newer option and solves a real database problem. Random UUIDs used as primary keys scatter inserts across a B-tree index, fragmenting it and hurting write performance badly on large tables. Version 7 puts a millisecond timestamp in the leading bits, so new values sort after old ones and inserts land at the end of the index — the same locality an auto-incrementing integer gives you, without giving up decentralised generation.

Version 1 also embeds a timestamp, but it historically included the machine's network card address as well, which leaks information about where the identifier was created. That is why it fell out of favour and why version 7 is the sensible choice today when you want time-ordering. The practical rule: version 7 for database keys, version 4 for everything else, version 1 only when an existing system requires it.

How it works

1

Choose a version

Version 4 for general use, version 7 when the ids will be database primary keys, version 1 for legacy compatibility.

2

Set how many you need

Generate one, or thousands at once for seeding test data. There is no cap and nothing is metered.

3

Copy them out

Take the list in lowercase or uppercase, whichever the system you are pasting into expects.

Frequently asked questions

Which UUID version should I use?
Version 4 for anything general — public identifiers, file names, correlation ids — because it reveals nothing about when or where it was created. Version 7 when the values will be database primary keys, since its time ordering keeps index inserts efficient. Version 1 only when an existing system already uses it and expects the same format.
Can two UUIDs ever collide?
In theory yes, in practice no. A version 4 UUID has 122 random bits, so you would need to generate roughly a billion per second for around a century before the chance of a single collision reached even one percent. Every real system is far more likely to fail for some other reason first. Treat collisions as a non-issue.
Are these random enough to be secret?
Version 4 UUIDs are generated from a cryptographic random source, so they are unguessable, but do not use them as a security mechanism on their own. A UUID in a URL keeps a resource from being enumerated; it does not authenticate anyone. Anybody who obtains the link has it. Real access control still needs a real check.
Why does version 7 matter for databases?
Because random primary keys scatter new rows throughout the index rather than appending to it, which fragments pages and slows inserts significantly once a table grows large. Version 7 leads with a millisecond timestamp, so values increase over time and new rows land together at the end of the index, restoring the write performance of sequential keys.
Should UUIDs be uppercase or lowercase?
The specification says lowercase, and that is the safe default — most languages, databases and APIs produce and expect it. Uppercase is offered because some Microsoft tooling and older systems use it, and a few string comparisons are case sensitive. The value is identical either way; only the text representation differs.
How many can I generate at once?
As many as you need. Generation happens in your browser using the platform random source, so there is no server cost and nothing is rate limited. Thousands are produced instantly, which makes this practical for seeding test data or backfilling a column, not just for grabbing a single id.
Are the generated UUIDs sent anywhere?
No. They are produced by the browser's cryptographic random number generator inside your tab and never transmitted, stored or logged. Nobody else ever sees them, which matters if the ids are going to become production identifiers rather than throwaway test values.

Related tools