UUID Generator Online — v4 & v7, Bulk, Free
Create unique identifiers for database keys, request tracing, file names, or test fixtures — cryptographically random v4, or time-ordered v7 when index performance matters.
- Generating a primary key for a database table? Prefer v7 — time-ordered values keep B-tree indexes tight.
- Use v4 when IDs must reveal nothing about creation time or volume.
- Generate up to 1000 at once for seed data and migrations.
Encoding, decoding, hashing, and UUID generation all run in your browser. The text and tokens you paste are never uploaded, stored, or logged.
v4 vs v7 in practice
v4 is 122 random bits: no structure, no timing leak, and collision odds you can ignore. Its weakness is databases — random keys land at arbitrary positions in a B-tree index, causing page splits and cache misses at scale.
v7 (RFC 9562) fixes that by starting with a millisecond timestamp. IDs sort naturally by creation time, indexes stay locally-ordered, and range scans by time come free. That is why Postgres ecosystem tooling and new API designs increasingly default to v7.
Formatting options
The canonical form is 8-4-4-4-12 hex digits with dashes (36 characters). Some systems want the compact 32-character form without dashes, braces around the ID (a Windows convention), or uppercase letters. Generate in whichever shape your target expects — the underlying bits are the same.
Frequently asked questions
Can a generated UUID collide with an existing one?
Practically no. v4 has 122 random bits — you would need to generate billions per second for centuries to expect one collision. v7 adds a millisecond timestamp plus random bits; collisions would require two IDs in the same millisecond with identical random fills.
Which version should I use for a database primary key?
v7 when your database keeps rows in index order (most do): the time-ordered leading bits avoid random-insert page splits that hurt v4. Use v4 when you specifically need IDs that leak nothing about when they were created.
Are the generated UUIDs sent anywhere?
No. They are produced in your browser with the native random-number generator (crypto.getRandomValues). Nothing is transmitted or logged.