🆔 UUID Generator

Generate universally unique identifiers — offline and secure

✓ Free Forever · ✓ No Signup · ✓ No Upload · ✓ Works Offline

🔒 Your data never leaves your device. All processing happens locally in your browser using Web Crypto API (crypto.randomUUID). No upload, no server, no tracking.

Features

  • Instant v4 UUIDs — Generate RFC 4122 compliant version 4 UUIDs with a single click.
  • Bulk Generation — Generate up to 1,000 UUIDs at once for batch operations.
  • UUID Validator — Paste any UUID to check its validity and detect its version.
  • Format Options — Output in standard, uppercase, no-hyphens, or braces format.

How It Works

  1. Click Generate — Get a new v4 UUID instantly. Click again for another.
  2. Choose format — Select standard, uppercase, no-hyphens, or braces format.
  3. Bulk generate or validate — Generate multiple UUIDs at once, or paste an existing UUID to validate it.

Use Cases

  • Generate unique IDs for database records
  • Create correlation IDs for distributed systems
  • Generate test data with unique identifiers
  • Validate UUIDs from APIs or logs

Frequently Asked Questions

What is a v4 UUID?

A version 4 UUID is a 128-bit identifier generated from random numbers. The probability of a collision is astronomically low — about 1 in 2^122.

Are these UUIDs truly random?

Yes. Every one comes from your browser's crypto.randomUUID(), which draws on the operating system's cryptographically secure random number generator. Nothing is generated on a server.

Can I validate any UUID version?

Yes — versions 1 through 8 from the current standard (RFC 9562), including the newer time-ordered v6 and v7, plus the special nil (all zeros) and max (all F) UUIDs. It accepts the 36-character form, 32 hex digits without hyphens, {braces}, (parentheses) and urn:uuid:. For v1, v6 and v7 it also reads out the timestamp stored inside the UUID.

Notes from Milo 🐨

2026-10-02

I pasted a v7 UUID from a Postgres table into my own validator and it told me "Invalid UUID". It only knew versions 1 to 5, so the time-ordered v6 and v7 that a lot of new code produces (plus v8 and the all-zeros nil UUID) were all called broken, while a UUID with a stray bracket or hyphens in the wrong places sailed through. It now follows the current standard: versions 1 to 8, nil and max, the usual spellings including urn:uuid:, and for v1, v6 and v7 it shows the moment the UUID was created. The count box also stopped fighting you: clearing it and typing 50 used to give you 100. You can now make up to 1,000 at once, and pressing Enter in the box generates them.

From the blog

Related Tools

💬 Bug, idea, or just to say hi? Tell Milo 🐨 · [email protected]