Generate UUID v1/v3/v4/v5 (and NIL)
Create random UUIDs, time-based UUIDs, or name-based UUIDs using a namespace and name

A UUID (Universally Unique Identifier) is a 128-bit identifier typically written as 32 hex characters separated by hyphens.
This UUIDs Generator helps you:
If you also need secure random strings for API keys or invite codes, pair this with Token Generator. If you want fast digests of a string, try Hash Text.
UUIDs are standardized. For v4, the space of possibilities is huge because most bits are random. Roughly speaking, v4 has possible values.
That doesn’t mean “impossible” collisions, but it does mean collisions are so unlikely that UUIDs are a practical choice for most applications.
A UUID is 128 bits, but v4 reserves some bits for the version and variant.
So the count of possible v4 UUIDs is:
For v4, a simple approximation for the collision probability when generating UUIDs is:
Example: generating UUIDs:
This is why v4 is the usual default for unique IDs.
Each generated value is a UUID string you can paste directly into code, SQL, JSON, or logs. If you chose v3/v5, the same namespace and name will always produce the same UUID.
When you need an ID before writing to the database (client-side), v4 is a good default. Generate 50 IDs, then use them as primary keys for rows created offline and synced later.
Give each event a UUID and pass it through webhooks, queues, and logs. A single identifier makes debugging easier when multiple services are involved.
If you import the same entities repeatedly, v5 lets you compute a stable UUID from a namespace + name so you don’t create duplicates. Useful for “externalId → internalId” mapping.
Some older systems store v1. Use it only when you must, because it can leak timing information and may include node identifiers depending on implementation.
Name-based UUIDs are built from a namespace UUID plus a name string. Conceptually:
If your namespace is “DNS” and your name is a domain like , the tool generates a deterministic UUID. If you run it again with the same inputs, you get the same UUID (that’s the point).
Use v4 for resource IDs in REST/GraphQL APIs. Generate in bulk for fixtures or load tests.
Create v4 IDs offline and sync data later without waiting for an auto-increment key.
Use v5 with a custom namespace to turn “vendorId:1234” into a stable UUID across imports.
Attach a UUID to an event so you can correlate logs across webhook retries and queues.
Generate v1 only when a system explicitly requires it. Prefer v4/v5 for new designs.
Share a link to your generated UUID list for debugging or coordination. Avoid sharing sensitive names.
If the value must be unguessable (security boundary), prefer a cryptographic token. UUID v4 is often fine for uniqueness, but it’s not a replacement for a secret.
For secrets, use Token Generator.
UUIDs are 128-bit values. The standard defines how to set the version and variant bits. The remaining bits depend on the version.
For v4, most bits are random, so:
v3 uses MD5 and v5 uses SHA-1 to hash . Then the algorithm sets the proper version/variant bits and formats the result.
v1 uses a timestamp plus additional fields (like clock sequence and node identifier). It can be useful for interoperability, but may leak information.
“Unique” means two generated values are very unlikely to match. “Secure” means an attacker can’t guess or derive the value. Many teams use UUIDs for uniqueness, and use tokens (random secrets) for security.
UUID columns are wider than integers, which can affect index size and cache efficiency. It’s usually fine, but if you’re optimizing a high-write database, you may consider UUID ordering strategies or different ID schemes.
For general unique IDs, v4 is the most common default. Use v5 when you need deterministic IDs from a namespace and name.
UUID v4 is random in most implementations, but it is not a general-purpose secret token format. If you need an unguessable secret, use a dedicated token generator.
Because the UUID standard reserves bits for the version and variant. For v4, the number of random bits is roughly 122, giving 2^{122} possibilities.
Yes. v5 is deterministic: the same namespace + name produces the same UUID every time (assuming the same algorithm and formatting rules).
v1 can leak timing information and may encode node identifiers depending on implementation. Prefer v4 or v5 for new systems unless you need v1 for compatibility.
Yes. Use the Quantity setting, then copy rows individually or use Copy all for a batch.
The NIL UUID is all zeros. It’s useful as a sentinel value meaning “no ID” in some APIs and data models.
Use a simple chronometer (stopwatch) to track elapsed time down to milliseconds. Runs locally in your browser.
Normalize email addresses to a standard format for easier comparison. Useful for deduplication and data cleaning. Runs locally in your browser.
Estimate the time needed to consume a total amount at a constant rate, and get an expected end time. Runs locally in your browser.
Parse and decode your JSON Web Token (JWT) and display its content. All computation runs locally in your browser.
Know which file extensions are associated to a MIME type, and which MIME type is associated to a file extension. Includes a full MIME types table.
Generate random Lorem Ipsum placeholder text with customizable paragraphs, sentences, and word counts. Runs locally in your browser.