🆔 UUID Generator
Creates UUID v4 and time-sortable v7 with your browser's cryptographically secure random generator. Up to 1,000 at a time, in whatever format you need.
How to use the UUID generator
- Pick a version. Use v4 unless you have a reason not to; use v7 when IDs should sort in creation order, such as database primary keys.
- Type a count or tap a quick button (1 · 10 · 50 · 100 · 1000) and the UUIDs are generated instantly. Every click on ↻ regenerate produces fresh values.
- Uppercase, no hyphens, braces and the separator (new line, comma, JSON array, SQL
IN (…)) only change how the same values are written. copy all grabs the whole list. - Paste any UUID into the UUID inspector to see its version — and, for v1, v6 and v7, when it was created.
What is a UUID?
A UUID (Universally Unique Identifier — Microsoft calls it a GUID) is a 128-bit identifier written like 550e8400-e29b-41d4-a716-446655440000. The point is that anyone can generate one independently, without asking a central server for "the next number," and still practically never collide. It's 32 hex digits in 8-4-4-4-12 groups; the first digit of the third group is the version, and the first digit of the fourth group (8, 9, a or b) marks the variant. The current standard is RFC 9562 (2024), which replaced RFC 4122.
UUID v4 vs. v7
| UUID v4 | UUID v7 | |
|---|---|---|
| Made of | 122 random bits | 48-bit Unix milliseconds + 74 random bits |
| Sort order | Random | Creation time |
| Reveals creation time | No | Yes, from the first 12 hex digits |
| As a DB primary key | Fragments B-tree indexes | Sequential inserts — index friendly |
| Good for | Tokens, public IDs, general identifiers | Primary keys, log and event IDs |
Because v4 is fully random, new rows land all over a B-tree index (MySQL InnoDB, PostgreSQL, SQL Server), causing page splits and cache misses. v7 starts with a timestamp, so new values always append near the end — you get insert performance close to an auto-increment integer while still generating IDs independently across services.
How they're generated, and collision odds
- v4 uses the browser's
crypto.randomUUID(), backed by a cryptographically secure random number generator (CSPRNG). - v7 is assembled from a
Date.now()millisecond timestamp followed bycrypto.getRandomValues()random bits. When several are created in the same millisecond, a 12-bit counter is incremented as RFC 9562 describes, so a batch generated at once is still in order.
Even if you generate a billion v4 UUIDs, the chance of any duplicate is around 10-19 — effectively zero. By the birthday bound you'd need about 2.7×1018 UUIDs for a 50% chance of one collision.
Format examples
| Option | Output | Typical use |
|---|---|---|
| default | 3f2b8c1e-9d4a-4e6b-8a7c-1d2e3f4a5b6c | Most APIs, PostgreSQL uuid |
| UPPERCASE + braces | {3F2B8C1E-9D4A-4E6B-8A7C-1D2E3F4A5B6C} | .NET / Windows registry GUIDs |
| no hyphens | 3f2b8c1e9d4a4e6b8a7c1d2e3f4a5b6c | Compact keys, filenames |
| SQL IN (…) | IN ('…', '…') | Pasting into a WHERE clause |
v7 embeds its creation time, so don't use it for IDs you publish where the timestamp would leak something (like when an account was created) — use v4 there. UUIDs are hard to guess but aren't designed to replace passwords or auth tokens. All generation happens in your browser; nothing is logged on a server.