Click Generate to create UUIDs
Choose version and quantity on the left// generate v1, v4, v5, v7 UUIDs — bulk, formatted, instantly
Generate UUIDs instantly: v1 (time-based), v4 (random), v5 (namespace hash), v7 (sortable time + random). Bulk generation, format options, copy all. Browser-based, free, no signup.
Click Generate to create UUIDs
Choose version and quantity on the leftSelect v4 for fully random UUIDs (most common), v7 for time-sortable UUIDs (new standard), v1 for time-based, or v5 to generate deterministic UUIDs from a namespace and name.
Use the slider or presets to set how many UUIDs to generate (up to 10,000). Choose your output format: standard, uppercase, no hyphens, or braces.
Click ⎘ next to any UUID to copy it, or use "Copy All" to copy every UUID at once. Download as a .txt file for bulk use.
v4 for general unique IDs. v7 for database primary keys (sorts chronologically). v5 for stable IDs from a name (same input always gives same UUID). v1 for time-ordered with node ID.
A UUID (Universally Unique Identifier) is a 128-bit value formatted as 32 hexadecimal digits in 8-4-4-4-12 groups. The chance of two v4 UUIDs colliding is astronomically small — you'd need to generate a billion UUIDs per second for about 86 years before a collision became likely. All generation uses the browser's crypto.getRandomValues() API.
UUID v4 is completely random with 122 bits of randomness — the bits encode no information about when it was created. UUID v7 embeds a Unix millisecond timestamp in the most significant bits, followed by random bits. This makes v7 UUIDs sort chronologically when ordered as strings, which is highly beneficial for database primary keys — it avoids index fragmentation and allows "select by time range" queries using just the UUID itself.
UUID v5 generates a deterministic UUID from a namespace UUID and a name string. The same namespace + name always produces the same UUID. This is useful for: creating stable, reproducible IDs for known entities (e.g., always the same UUID for "example.com" in the DNS namespace), deduplication pipelines, and content-addressed storage. Unlike v4, you don't need to store v5 UUIDs — you can recompute them from the name.
For v4, the probability of collision is negligible. The total number of possible v4 UUIDs is 2^122 ≈ 5.3 × 10^36. If you generated a billion UUIDs per second, you'd need to run for approximately 85 years before the probability of any collision reached 50%. For practical purposes, UUID v4 collisions are not a concern. UUID v5 is deterministic — the same input always gives the same output, which by definition means matching inputs produce matching UUIDs.
The nil UUID is 00000000-0000-0000-0000-000000000000 — all zeros. It is defined in RFC 4122 as a special UUID that can be used as a null/empty value in contexts that require a UUID but have no meaningful identifier to provide. This tool's validator recognises it as a valid special UUID.
GUID (Globally Unique Identifier) is Microsoft's name for what the rest of the world calls UUID. They are the same 128-bit format. Microsoft GUIDs are sometimes presented in braces — {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} — which is one of the output formats this tool supports. The terms are interchangeable in practice.
Yes. All random generation uses crypto.getRandomValues() — the browser's cryptographically secure pseudo-random number generator. This is the same source used for key generation and other security-sensitive operations. It is significantly more random than Math.random(), which should never be used for UUID generation in production.
UUIDs are the universal solution for unique identifiers in distributed systems. Unlike auto-increment integers, UUIDs can be generated independently by any client or service without coordination — no central counter, no database round-trip, no sequencing conflicts. This property makes them indispensable for microservices, distributed databases, event sourcing, and any system where multiple nodes need to create unique identifiers simultaneously.
UUID v7 was introduced to solve a real problem with v4 UUIDs in databases: because v4 UUIDs are random, inserting them as primary keys fragments B-tree indexes — each new row lands in a random location in the index rather than at the end, causing expensive page splits and poor cache locality. UUID v7 encodes a millisecond-precision timestamp in the most significant bits, so newly generated UUIDs always sort after older ones. This gives the insertion performance of sequential integers while retaining the distribution benefits of UUIDs.
UUID v5 is unique among the UUID versions because it is deterministic — the same namespace and name always produce the same UUID. This turns UUID generation into a hash function over (namespace, name) pairs. Practical uses include: generating a stable UUID for every URL you scrape (so you don't create duplicates), creating fixed identifiers for code-defined constants, and building content-addressed stores where the ID is derived from the content itself.