Skip to main content

UUID Generator

Generate UUID v1, v4, v5 and v7 identifiers in bulk.

About this tool

Generate UUID v1, v4, v5 and v7 identifiers — single or in bulk — directly in your browser.

  • v1: time-based
  • v4: random (most common)
  • v5: namespace + name (SHA-1)
  • v7: time-ordered, sort-friendly
  • Copy individual or all at once

Common use cases

  • Database primary keys. Generate a batch of identifiers for seed data, test fixtures, or distributed tables where an auto-increment integer would leak record counts or require central coordination.
  • Idempotency and correlation IDs. Attach a fresh UUID to each API request, message, or job so retries can be deduplicated and log lines can be traced across services.
  • Temporary file and object names. Use random UUIDs as upload keys or scratch-file names so untrusted users cannot guess or overwrite resources belonging to others.
  • Testing and mocking. Fill forms, SQL dumps, and JSON payloads with realistic identifiers in the exact spelling your stack expects — plain hex, hyphenated, uppercase, or wrapped in curly braces.
  • Throwaway tokens in prototypes. Produce quick identifiers for demos and front-end prototypes before a real authentication system exists.

How to use

  1. A batch of UUIDs is generated automatically when the page loads, so results are already waiting in the output list.
  2. Pick a version option — v1, v4, v5, or v7 (v4 is selected by default). The list regenerates as soon as the selection changes.
  3. Set the count field to how many UUIDs you want; the value is clamped to between 1 and 500.
  4. Choose an output format: hyphenated lowercase (the canonical form), plain with hyphens removed, uppercase, or wrapped in curly braces.
  5. Click Generate for a fresh batch with the same settings, or Copy all to place the entire newline-separated list on your clipboard.

Tips and pitfalls

This generator delegates to crypto.randomUUID(), the browser built-in that returns RFC 4122 version 4 identifiers drawn from a cryptographically secure random source. Of the 128 bits in a UUID, 6 are fixed markers (4 for the version, 2 for the variant), leaving 122 random bits. The collision math is therefore well understood: under the birthday bound, you would need to generate roughly 2.7 × 10^18 version 4 UUIDs before the probability of a single duplicate reaches 50 percent. For any batch a person can click through, collisions are not a realistic concern.

Formatting options change only the text, never the value. Uppercase, lowercase, hyphen-free, and brace-wrapped spellings all denote the same 128-bit number — but some systems are picky about which spelling they accept. Microsoft tooling historically favors the braced form, while many databases store UUIDs natively and reject the braces. When comparing UUIDs as strings, normalize case first, because the hexadecimal letters differ byte for byte.

The pre-filled namespace value 6ba7b810-9dad-11d1-80b4-00c04fd430c8 is the standard DNS namespace UUID defined in RFC 4122. Name-based versions (v3 and v5) derive identifiers by hashing a name within such a namespace, which makes them reproducible — the same input always yields the same UUID, unlike random v4. Also note that crypto.randomUUID() is only exposed in secure contexts, so the tool requires HTTPS or localhost to run.

FAQ

Are these UUIDs generated on a server?

No. Each identifier is produced locally in your browser by the crypto.randomUUID() API. Nothing is sent over the network, and the generated list exists only in this page.

How likely is a collision between two generated UUIDs?

Version 4 UUIDs carry 122 random bits. Under the birthday bound, the probability of at least one duplicate reaches 50 percent only after roughly 2.7 × 10^18 identifiers have been generated, so accidental collisions in real-world batches are effectively impossible.

Does the format option change the UUID itself?

No. Hyphenated lowercase, uppercase, plain without hyphens, and brace-wrapped outputs are different textual spellings of the same 128-bit value. Only the representation changes, never the identifier.

What is the namespace value shown in the input field?

It is the DNS namespace UUID from RFC 4122 (6ba7b810-9dad-11d1-80b4-00c04fd430c8), the standard scope used when deriving reproducible name-based UUIDs with versions 3 and 5.

Why did the list regenerate when I changed the count or version?

The tool listens for changes to the count field and the version selection and regenerates automatically so the output always matches the current settings. Use the Generate button when you only want a fresh random batch with unchanged settings.

Is there a limit on how many UUIDs can be generated at once?

The count field is clamped to the range 1 to 500 per batch. If you need more, generate repeatedly and copy each batch.