Free UUID Generator
Generate RFC 4122 v1 (time-based) and v4 (random) UUIDs — one at a time or up to 1000 in a batch. Five output formats, and a validator that parses version, variant and timestamp from any pasted UUID. All in your browser.
Settings
Generated UUIDs
Ready to generate
Click Generate to produce UUIDsWhat Is a UUID?
A UUID (Universally Unique Identifier) is a 128-bit number used to identify objects in computer systems. It is typically written as 32 hexadecimal digits in five hyphen-separated groups — 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d — and the format is defined by RFC 4122. Microsoft calls the same construct a GUID; the two are interchangeable.
The value of a UUID is that it can be generated independently on any machine, at any time, without coordination, and will still be unique. That is what makes them the default identifier in distributed systems — you can create an ID on the client and insert it into the database without a round trip, and you never have to worry that two servers will pick the same one.
Anatomy of a UUID
Written out, a UUID is xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx. The two characters highlighted in that pattern carry structured information:
| Field | Position | Meaning |
|---|---|---|
| Version (M) | First char of 3rd group | 1 = time-based, 4 = random, 7 = Unix time, others reserved |
| Variant (N) | First char of 4th group | 8, 9, a or b means RFC 4122 variant (the standard) |
| Timestamp | v1 only, first 60 bits | 100-nanosecond intervals since 1582-10-15 |
| Node | v1 only, last 48 bits | MAC address (or random if privacy mode) |
| Random | v4, 122 bits | From a cryptographically secure source |
UUID versions at a glance
| Version | Based on | Sortable | Use for |
|---|---|---|---|
| v1 | Timestamp + node (MAC) | Yes | Legacy systems, ordered keys (with caution) |
| v2 | DCE Security (obsolete) | — | Never — do not use |
| v3 | MD5 of namespace + name | No | Deterministic IDs from a string |
| v4 | 122 bits of random | No | Everything — the modern default |
| v5 | SHA-1 of namespace + name | No | Deterministic IDs (SHA-1 variant) |
| v6 | v1 with reordered timestamp | Yes | Ordered keys (RFC 9562) |
| v7 | Unix time + random | Yes | Modern ordered keys (RFC 9562) |
v4 is the safe default for almost every use case. Use v1 only when you need time-ordering and can accept that it exposes the machine's MAC address and the exact moment of creation. Modern alternatives that combine ordering with privacy (v7, ULID) exist but are not yet universally supported.
Output formats
The same 128-bit value can be written several equivalent ways. This tool supports all five:
| Format | Example | Used by |
|---|---|---|
| Standard | 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d | Default, RFC 4122 canonical form |
| Compact | 9b1deb4d3b7d4bad9bdd2b0d7b3dcb6d | URLs, compact storage |
| Uppercase | 9B1DEB4D-3B7D-4BAD-9BDD-2B0D7B3DCB6D | Microsoft tools, .NET |
| Braces | {9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d} | Windows registry, GUID literals |
| URN | urn:uuid:9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d | RFC 8141 URN identifiers |
Will I ever see a collision?
For UUID v4 there are 2122 possible values — about 5.3 × 1036. To have a 50% chance of a single collision you would need to generate roughly 2.7 × 1018 UUIDs. At a billion per second that would take about 85 years of continuous generation. Real systems run out of storage, disk or time long before they run into a duplicate UUID.
This is why UUIDs are considered safe to generate without a central authority, even across thousands of machines. The probability of collision is so far below the probability of a hardware failure that it is not worth engineering around.
Common use cases
Database Primary Keys
Client-generated IDs that don't need a round trip to the database.
API Idempotency Keys
A unique value sent with each request so retries don't duplicate.
File & Document IDs
Rename uploads to collision-free identifiers without a registry.
Distributed Systems
Trace requests and events across services with a shared ID.
Session & Device IDs
Anonymous identifiers that don't leak user information.
Testing & Fixtures
Realistic IDs for seeds and mocked data.
Component Keys
Stable keys for React, Vue and other virtual-DOM frameworks.
Unguessable Tokens
Lower-entropy alternative to random tokens for non-security IDs.
Privacy and security
This UUID generator runs entirely in your browser. Version 4 UUIDs are built from crypto.getRandomValues() — a cryptographically secure random source seeded by the operating system, the same source used to generate TLS session keys. Version 1 UUIDs use the standard construction with a random node ID by default (to avoid leaking your MAC address). Nothing is uploaded, stored or transmitted.
Frequently Asked Questions
What is a UUID?
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d. The format is defined by RFC 4122 and is designed so that identifiers created at different times or on different machines will never collide in practice.Is this UUID generator free?
Is my data sent to a server?
crypto.getRandomValues() API for v4, and standard time-based construction for v1. Nothing is uploaded, stored or transmitted.What is the difference between UUID v1 and v4?
Which UUID version should I use?
Can UUIDs ever collide?
What do the version and variant fields mean?
10xx in binary means RFC 4122 variant, which is what every modern system uses.Can I use UUIDs as database primary keys?
What is the NIL UUID?
00000000-0000-0000-0000-000000000000 — all zero bits. It is defined by RFC 4122 as a special value that can be used when no UUID is available, in much the same way that a null pointer represents the absence of an object. The max UUID is the opposite: ffffffff-ffff-ffff-ffff-ffffffffffff.What are the different UUID formats?
9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d. Compact removes them: 9b1deb4d3b7d4bad9bdd2b0d7b3dcb6d. Uppercase changes the hex digits to capital letters. Braces wrap it in curly brackets, as some Microsoft tools do. URN prefixes it with urn:uuid: as required by RFC 8141 for URN-based identifiers.Can I use these UUIDs in production?
crypto.getRandomValues() API, which is a cryptographically secure random source seeded by the operating system — the same source used to generate TLS session keys. The output is indistinguishable from UUIDs generated by any server-side library.