UUID / GUID Generator
Generate UUID v4 (random) or UUID v1 (timestamp) — single or bulk, 100% in-browser
Generate UUID v4 (random) or UUID v1 (timestamp) — single or bulk, 100% in-browser
Generate cryptographically secure UUIDs (Universally Unique Identifiers) instantly — UUID v4 (random) or UUID v1 (timestamp-based). Bulk generate up to 100 UUIDs at once, format as uppercase/lowercase, with or without hyphens, and copy any single UUID or the entire batch. Processing runs entirely in your browser using the native crypto.randomUUID() API — no data is sent to any server, no signup required.
A UUID (Universally Unique Identifier) is a 128-bit label used to uniquely identify objects in computer systems without requiring central coordination. UUIDs are standardized by RFC 4122 (and the newer RFC 9562).
In their canonical textual form, UUIDs are represented as 32 lowercase hexadecimal digits displayed in five hyphen-separated groups:
550e8400-e29b-41d4-a716-446655440000
xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
(M = version nibble, N = variant bits)
The total length is always 36 characters including hyphens (32 hex + 4 hyphens). The version nibble (M) tells you which UUID version was used to generate it. GUID (Globally Unique Identifier) is Microsoft's name for the same standard. GUIDs and UUIDs are identical — the terms are fully interchangeable. GUID is the preferred term in .NET, COM, and Windows APIs; UUID is the cross-platform RFC term used in databases, cloud services, and open standards.
UUID v4 is the standard choice for nearly all modern applications. It is generated from 122 bits of cryptographic randomness using the OS's CSPRNG (the same entropy source as TLS). UUID v4 contains no system information, is completely unpredictable, and is safe for database primary keys, API tokens, session identifiers, and file names.
UUID v1 encodes the current timestamp (at 100-nanosecond resolution since October 15, 1582) and a node identifier. v1 UUIDs are monotonically increasing within a single node, providing natural sort order. However, they expose system information. This tool generates v1 UUIDs with a random node ID (not a real MAC address) to protect privacy.
| Version | Generation method | Sortable | Privacy-safe | Best use case |
|---|---|---|---|---|
| v1 | Timestamp + MAC address | Yes (per node) | No — leaks time & node | Time-ordered IDs in controlled environments |
| v3 | MD5 hash of namespace + name | No | Yes | Deterministic name-based IDs (prefer v5) |
| v4 | Cryptographically random | No | Yes | Database keys, tokens, session IDs — general use |
| v5 | SHA-1 hash of namespace + name | No | Yes | Deterministic name-based IDs (preferred over v3) |
| v7 | Unix timestamp + random | Yes (globally) | Yes | DB primary keys where index locality matters (PostgreSQL, MySQL) |
UUIDs make excellent database primary keys when you need globally unique IDs without a central sequence generator.
PostgreSQL has a native UUID type stored as 16 bytes. Use gen_random_uuid()
(built-in from Postgres 13). MySQL stores UUIDs as CHAR(36) or more efficiently
BINARY(16) with UUID_TO_BIN(). UUID v4 causes B-tree page splits (random insertion); UUID v7
(time-ordered) solves this.
When working with JSON data that contains UUID fields, use our JSON Formatter to inspect and format JSON payloads. Need to hash UUIDs or verify file integrity? Try the Hash Generator.
crypto.randomUUID(), which calls the operating system's cryptographically secure PRNG (the same entropy source used by TLS). The generated UUIDs are safe for security tokens, session IDs, and cryptographic nonces. UUID v1 in this tool uses crypto.getRandomValues() for the node ID to avoid exposing a real MAC address.uuid npm package v10+).crypto.randomUUID() natively — no library needed. For older Node.js, use the uuid npm package: import { v4 as uuidv4 } from 'uuid';. In Python, use import uuid; str(uuid.uuid4()). In Go, use the github.com/google/uuid package.550e8400-e29b-41d4-a716-446655440000. Other common formats: uppercase with hyphens (common in .NET), no hyphens (common in some databases), and URN format (urn:uuid:550e8400-...). All represent the same 128-bit value. Use the toggles above to switch between formats.