RFC 4122 & RFC 9562 UUID / GUID Generator
API coming soonGenerate cryptographically secure RFC 4122 v4 and RFC 9562 v7 time-ordered UUIDs in bulk. Formats include standard, no-hyphen, and braces.
RFC 4122 & RFC 9562 UUID / GUID Generator
- 337f6faf-7040-4313-98bf-44affd52550b
- b1e43aaa-0e54-4b46-b545-920754538bf1
- 6a354840-f76b-4984-b8df-b937ddf530f8
- 242aa1b8-7778-4818-8411-2aea43e3b44a
- 19fb4f67-754c-4427-a290-16734f4a6ad1
- 3acd6e3c-bd7e-4ff0-9f41-8a25770fae34
- 100754f5-32f7-4056-b0b8-8ec9b18293f3
- f88db62a-a12a-4dd7-824c-aaf2ea85060c
- b64ecb6a-bbda-4a76-8a34-d84ce9044f4d
- 949b4278-13a6-4fa1-b56d-14fedd2a9b73
API version coming soon
Get notified when the UUID Generator API is available.
About
Our RFC 4122 & RFC 9562 UUID/GUID Suite generates cryptographically secure, collision-resistant unique identifiers entirely on your local machine using hardware entropy from the native Web Crypto API (SubtleCrypto & CSPRNG). Supporting both UUID Version 4 (Pseudorandom) and the modern UUID Version 7 (Time-Ordered Monotonic), it satisfies high-throughput database primary key requirements and enterprise distributed microservice tracing without server telemetry.
Mathematical Architecture & RFC 9562 Specifications
A standard UUID is a 128-bit unsigned integer represented as a 36-character hexadecimal string divided into five hyphenated segments: 8-4-4-4-12.
- UUID Version 4 (Random): Encodes 122 bits of pure cryptographic entropy from CSPRNG, with 6 bits reserved for Version (0100) and Variant 1 (10). The total number of unique v4 UUIDs is 2^122 (~5.316 x 10^36). Collisions are mathematically negligible.
- UUID Version 7 (Unix Epoch Time-Ordered): Standardized in RFC 9562 (2024), UUIDv7 embeds a 48-bit big-endian millisecond timestamp in the highest bits, followed by 74 bits of entropy. Because UUIDv7 values are naturally monotonic (chronologically sortable), they eliminate B-Tree index fragmentation and random disk I/O in transactional databases (PostgreSQL, MySQL InnoDB, ClickHouse).
Definitive UUID Version Comparison: v1 vs v3 vs v4 vs v5 vs v7
| UUID Version | Entropy Source | Sortable (Monotonic) | Collision Risk | Primary Application | Security Assessment |
|---|---|---|---|---|---|
| Version 7 | 48-bit Unix ms Timestamp + 74-bit CSPRNG | YES (Chronological) | Zero for all practical purposes | Database Primary Keys (PostgreSQL, MySQL) | Recommended: High entropy, zero privacy leaks, preserves B-Tree indexing. |
| Version 4 | 122-bit Pure Cryptographic Randomness | NO (Pure Random) | 2^-122 (~10^-36) | Ephemeral session IDs, OAuth states, trace IDs | Recommended: Unpredictable, zero data leakage. Avoid for clustered DB keys. |
| Version 1 | 60-bit Timestamp + 48-bit MAC Address | Partial | Low | Legacy enterprise directories | Deprecated: Leaks network card MAC address and exact creation time. |
| Version 5 | SHA-1 Hash of Namespace + Name | NO (Deterministic) | Low | Deterministic ID from URLs or names | Safe if deterministic mapping is required; prefer over v3. |
| Version 3 | MD5 Hash of Namespace + Name | NO (Deterministic) | High | Legacy compatibility | Deprecated: MD5 is cryptographically broken; use v5 instead. |
Developer Implementation Code Snippets
Node.js & TypeScript
export function createTraceId(): string {
return crypto.randomUUID(); // Native v4 in Node 19+ and browsers
}
Python 3
import uuid
v4_id = uuid.uuid4()
print("UUID v4:", str(v4_id))
print("32-char Hex:", v4_id.hex)
Go
package main
import "github.com/google/uuid"
func main() {
id, _ := uuid.NewRandom() // v4
idV7, _ := uuid.NewV7() // v7 Time-Ordered
}