UUID Generator
Generate v1, v4, v5 or v7 identifiers in bulk: sortable, random, or name-based.
Your data is processed entirely in your browser and is never uploaded.
Tool workspace
$ uuidgen --version 7 --count 1000
Pick a version and a count, then Generate. v7 batches come out already sorted; v5 turns a name into the same id every time.
Not all UUIDs are random
Version 4 — Random
122 bits of cryptographic randomness. The default for opaque identifiers.
Version 7 — Time-ordered
A 48-bit Unix-ms prefix plus randomness. Sorts chronologically — ideal as a database key.
Version 1 — Time-based
Timestamp + clock sequence + node. Time-derived, but its bytes don't sort as strings.
Version 5 — Name-based (SHA-1)
A deterministic hash of a namespace + name. Same input always yields the same UUID.
Version 3 (name-based, MD5) is intentionally not offered: MD5 isn't available in Web Crypto, and a hand-rolled copy would risk silent corruption. v5 is its correct successor.
Generate UUIDs in three steps
Pick a version
Choose v1, v4, v5, or v7 depending on whether you need time-based, random, namespaced, or sortable identifiers.
Set the batch
Choose how many to generate, plus the output format, case, and separator for the list.
Generate & export
Click Generate. V7 batches come out already sorted, then copy or download the entire list.
Not all UUIDs are random
A UUID is a 128-bit identifier, and the version you pick decides how those bits are made. v4 is fully random, the default for opaque ids. v7 is time-ordered: it puts the most significant time bits at the front, so batches come out already sorted and inserts stay sequential. v1 is also time-based but stores the low time bits first, so its string order doesn't follow time. v5 is deterministic. The same namespace + name always hashes to the same id, on any machine. This tool generates all four in your browser using the platform's cryptographic RNG (and SHA-1 for v5), with your choice of format (hyphen, compact, braces, urn) and case, in bulk up to 5000 per batch.
Things to know
v7 batches come out sorted
Because v7 leads with the most-significant time bits, a batch is already in time order. the tool confirms it's monotonic. That's what makes v7 the pick for primary keys you'll always insert in order.
v1 isn't lex-sorted
v1 stores the low 32 bits of the timestamp first, so string order doesn't follow time. That limitation is exactly what v7 was designed to fix.
v5 is deterministic
The same namespace + name always hashes to the same UUID, on any machine. Generating a batch appends an index to the name so you get distinct ids.
v5 · namespace DNS · name example.com
v3 is intentionally not offered
v3 uses MD5, which isn't available in Web Crypto; a hand-rolled copy would risk silent corruption. v5 (SHA-1) is its correct successor.
Try these
v4 · count 5 · hyphen · lower
v4 is fully random, the default for anything that just needs to be unique.
v7 · count 1000 · hyphen · lower
v7 batches come out already time-ordered and monotonic.
v5 · namespace DNS · name example.com
Same namespace + name always yields the same identifier.
pair this withUse them in mock data → Fake JSON Generator·Format the result → JSON Formatter
Go deeper
Quick answers
Which version should I use?
For an opaque id, v4. For a primary key you'll sort or insert in order, v7. Its time prefix keeps inserts sequential. For a stable id derived from a name (a URL, a DNS name), v5.
Are these generated on a server?
No. Every UUID is produced in your browser using the platform's cryptographic RNG (and SHA-1 for v5). Nothing you generate is transmitted or stored.
Why aren't v1 UUIDs sortable as strings?
v1 stores the low 32 bits of the timestamp first, so the string order doesn't follow time. That limitation is exactly what v7 was designed to fix. It puts the most-significant time bits at the front.
What does "deterministic" mean for v5?
The same namespace + name always hashes to the same UUID, on any machine. Generating a batch appends an index to the name so you get distinct ids; remove the index logic and you'd get the same id repeated.
What does a UUID look like?
A UUID looks like 550e8400-e29b-41d4-a716-446655440000: 32 hex digits in 8-4-4-4-12, 36 characters with hyphens. The 13th digit is the version, so a 4 marks v4 and a 7 marks v7. See UUID Format and Examples for v1, v4, v5 and v7 samples.
Is UUID v7 better than v4?
For database primary keys and any ID where chronological order matters, yes: v7 sorts by creation time and inserts sequentially. For opaque public tokens where you do not want time visible, stick to v4.
Can UUIDs collide?
Yes, but a v4 collision needs about 2.71 quintillion IDs for 50% chance. Use a cryptographic RNG. See Can Two UUIDs Ever Be the Same.
How do I generate a UUID in Python or JavaScript?
Python: uuid.uuid4(). JavaScript: crypto.randomUUID() in the browser or Buffer in Node. See How to Generate a UUID.