UUID Generator
Generate random UUID v4 identifiers instantly. Runs entirely in your browser — nothing is sent to any server.
Format
What is a UUID?
A Universally Unique Identifier (UUID) is a 128-bit number used to identify information in computer systems. When generated according to standard methods, UUIDs are practically unique across space and time, without requiring a central registration authority to administer them.
Version Comparison
Version 1 — Timestamp + Node
Combines a 60-bit timestamp with a node identifier. Roughly sortable by creation time. This tool fills the node segment with random bytes rather than a real MAC address, so it never leaks machine-identifying data.
Version 2 — DCE Security
Defined by the old DCE (Distributed Computing Environment) spec: it overwrites part of the timestamp and the clock sequence with a local domain and a POSIX UID/GID. This tool doesn't offer it — almost no modern UUID library does — because it was only ever loosely specified, the substitution destroys most of the timestamp's precision, and it never saw real adoption outside legacy DCE/NCS systems. RFC 9562 keeps it only for historical completeness.
Version 3 — Name-based (MD5)
Hashes a namespace UUID plus a name with MD5. The same namespace and name always produce the same UUID, which makes it useful for generating stable IDs from existing identifiers — but MD5 is a legacy, weak hash.
Version 4 — Random
Generates UUIDs entirely from random or pseudo-random numbers. It is the most common version, providing excellent distribution and minimal chance of collision. Ideal for general-purpose unique identifiers.
Version 5 — Name-based (SHA-1)
Same idea as v3, but hashes the namespace + name with SHA-1 instead of MD5. The recommended choice whenever you need a deterministic, name-derived UUID.
Version 6 — Reordered Timestamp
A field-compatible reordering of v1: the same 60-bit timestamp, but with the most significant bits first. That makes v6 UUIDs sort correctly as plain strings, fixing v1's main weakness for database indexes.
Version 7 — Unix Timestamp + Random
Combines a Unix millisecond timestamp with random data. Because they are time-ordered, v7 UUIDs are highly efficient for database indexing (like B-trees) compared to the completely random v4, while maintaining excellent uniqueness.
Version 8 — Custom
RFC 9562 leaves v8 entirely vendor/application-defined — only the version and variant bits are fixed. This tool fills the free-form bits with random data as a generic example; a real system would define its own layout.
Examples
Generate a random (v4) UUID natively, no libraries required in most languages:
crypto.randomUUID()import uuid
uuid.uuid4()UUID.randomUUID()Guid.NewGuid()import "github.com/google/uuid"
uuid.New()Ramsey\Uuid\Uuid::uuid4()require 'securerandom'
SecureRandom.uuidUse Cases
Database primary keys
Generate IDs on any node without a central sequence or coordination — useful for sharded databases and systems with multiple writers. Prefer v7 here: it's time-ordered, so inserts stay clustered and B-tree indexes stay efficient.
Idempotency keys
Attach a UUID to an API request so retries (from a flaky network, a timeout, a double-click) are recognized as the same operation instead of being processed twice.
Correlation & trace IDs
Tag a request with a UUID when it enters your system and pass it through every downstream service call and log line, so you can follow one request across a distributed system.
File and object naming
Name uploads, generated files, or objects in storage (S3-style buckets) with a UUID to avoid collisions between users or concurrent uploads, without needing to check what already exists.
Offline-first / client-generated IDs
Let a mobile app or offline form generate its own ID before it ever reaches a server — no round-trip needed to get a unique identifier, and no collision risk when the record eventually syncs.