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.