UUID Generator
Generate unique UUIDs (v4) for your applications.
Click Generate to create UUIDs
Cryptographically random, 122 bits of entropy. The safe default.
About this tool
Generate one UUID or a batch of a few hundred at once — each produced by the browser's crypto.randomUUID(), so the bytes come from a cryptographically secure random source, not a weak Math.random fallback. UUID v4 gives you 122 bits of entropy, which is enough collision resistance that two independent services can generate IDs without coordinating. Useful when you're seeding a database, writing a migration that needs fixed example IDs, stubbing a mock API, generating idempotency keys for a payment integration, or tagging test events so you can trace them through a pipeline. Every UUID here matches RFC 4122 version 4 exactly — you can feed them directly into Postgres uuid columns, Node crypto APIs, or any library that validates the version nibble. No network call, no rate limit.
Variants
UUID v4
Generate RFC 4122 compliant UUID v4 identifiers in your browser. 122 bits of cryptographic entropy — safe for database keys, idempotency tokens, and public URLs.
UUID v7
Generate RFC 9562 UUID v7 identifiers. Time-ordered UUIDs that keep database b-tree indexes tight and make bulk inserts much faster than v4.
UUID v1
Generate RFC 4122 version 1 UUIDs: Gregorian 100-ns timestamp plus random node ID. For legacy systems, Cassandra TIMEUUIDs, and older Windows COM code.
Nil UUID
The nil UUID, all zeros. A spec-defined sentinel for UUID-shaped placeholder values — never confused with a real generated UUID.
GUID (Microsoft)
Generate GUIDs in Microsoft format — uppercase UUID v4 wrapped in braces. For .NET Guid parsers, SQL Server, registry entries, and Windows tooling.
Features
- Generate cryptographically random UUID v4 identifiers
- Create single or bulk UUIDs at once
- Copy individual or all UUIDs to clipboard
- Compliant with RFC 4122 standard
How to Use
- Click "Generate" to create a new UUID
- Set the quantity for bulk generation
- Click any UUID to copy it to your clipboard
- Use the generated UUIDs in your applications
Frequently Asked Questions
Is UUID v4 actually unique?
Not mathematically guaranteed, but practically yes. With 122 random bits, you'd need to generate ~2.7 × 10^18 UUIDs before a collision becomes likely. You will run out of database rows or hit the heat death of the universe first, so treat them as unique in any real application.
Should I use UUID v4 or v7 for database primary keys?
v4 is fine for most apps, but v7 is time-ordered, which keeps b-tree indexes tight and makes newly inserted rows cluster together on disk. If you're generating millions of IDs and care about insert performance, prefer v7. For everything else, v4 is the simple default.
Are these IDs safe to expose in URLs?
Yes — v4 UUIDs are unguessable and reveal nothing about when or where they were generated, unlike auto-increment integers. That makes them a reasonable choice for share links and public object IDs, though they're not a substitute for authorisation checks.
Why do the UUIDs I generate always start with the same-ish pattern?
They don't — but the 13th character is always "4" (the version) and the 17th is always 8, 9, a, or b (the variant). Those are fixed by the RFC, not a weakness in the randomness. Everything else is genuinely random.
What's the performance cost of generating a thousand UUIDs?
Negligible. crypto.randomUUID() runs in low microseconds per call, so even 10,000 UUIDs finish before a React render. If you see a slow page, the bottleneck is probably whatever's rendering the list, not the UUID generation itself.
Is crypto.randomUUID the same as what my backend generates?
For v4, yes — the bits come from the same kind of CSPRNG (the OS's secure random source). A UUID generated in the browser is indistinguishable from one generated by Node's crypto.randomUUID or Postgres's gen_random_uuid(). Mixing them in one system is safe.