UUID Generator
Generate UUID v4 (random) and v7 (sortable, time-ordered) in bulk. Browser-only — uses crypto.randomUUID where available.
Validate / analyse a UUID
About this tool
A UUID (Universally Unique Identifier) is a 128-bit value written as
five hyphenated hexadecimal groups, e.g.
9fcab46a-5d33-4e67-8a20-6a7c2a1fe0bb. UUIDs are the
default identifier type for distributed systems because they can be
generated independently by any node without coordination.
v4 is fully random and the default for most applications — 122 bits of entropy, unguessable from the outside. v7 is newer (RFC 9562) and embeds a 48-bit Unix timestamp in the most significant bits, so sorting v7 UUIDs as strings puts them in creation order. That ordering matters enormously for clustered-index performance: inserting random v4s causes B-tree pages to be modified all over the index, while v7s append sequentially.
The validator section accepts UUIDs in any common format — hyphenated, plain, braced, mixed case — and reports the version and variant bits. Use it to confirm an incoming ID is well-formed and the version is what you expect.
Frequently asked questions
What is the difference between UUID v4 and v7?
v4 is fully random — great for unguessable IDs but unordered, which causes write amplification in clustered indexes. v7 embeds a millisecond-precision Unix timestamp in the high bits so lexicographic ordering matches creation order, keeping index inserts sequential. Use v7 for new databases; keep v4 where unpredictability matters more than ordering.
Are these UUIDs cryptographically random?
Yes. v4 uses `crypto.randomUUID()` where available, otherwise `crypto.getRandomValues()` — both are CSPRNG-backed in modern browsers. v7 uses the same CSPRNG for the random portion.
Why is UUID v1 not offered?
v1 encodes a MAC address and monotonic counter. Browsers cannot read MAC addresses, so a v1 generated client-side is either random (not truly v1) or fingerprinted (privacy problem). v7 replaces v1 for time-based use cases.
Do UUIDs collide?
v4 has 122 bits of entropy. Generating a billion UUIDs per second for 85 years gives roughly a 50% chance of a single collision. For application purposes, treat v4 as collision-free.
What is the nil UUID for?
The all-zeros UUID `00000000-0000-0000-0000-000000000000` is a sentinel value — commonly used to represent "no ID yet" or as a placeholder in schemas where NULL isn’t convenient.