UUID Generator

Generate cryptographically random version 4 UUIDs.

Private by design. Your input never leaves this browser. Conversions run locally on your device.

What this tool handles

  • Generates version 4 UUIDs from crypto.randomUUID(), falling back to crypto.getRandomValues outside a secure context. Both draw on the operating system's random source.
  • 1, 10 or 100 at a time, lowercase or uppercase.
  • Version 4 carries no timestamp and no MAC address, and sorts randomly.

When you would use it

  • Filling a fixture or a seed script — Ask for a hundred at once and they arrive one per line, ready to paste into a factory file, a migration or a column of test data.
  • Ids minted before anything reaches the server — An offline-first client, or a retry that needs a stable idempotency key, has to name a record without asking a database for the next number. 122 random bits make a clash between two clients not worth planning for.
  • A correlation id for a request you are replaying — Paste one into an X-Request-Id header on a hand-built curl call and the same value traces that single call through every log line it touches.

Common questions

Which UUID versions does this produce?

Version 4 only. There is no v1, v5 or v7 here and no nil UUID; if you want identifiers that sort by creation time, use the ULID tool or a UUIDv7 implementation in your own language.

Where does the randomness come from?

crypto.randomUUID, which draws on the platform's cryptographic random source rather than Math.random. Six of the 128 bits are fixed to mark the version and the variant, leaving 122 random ones. Outside a secure context the same bits come from crypto.getRandomValues with those markers set explicitly.

Why do these behave badly as a database key?

Two values generated a moment apart share no leading digits, so rows scatter across the whole index instead of landing together, and ordering by the column tells you nothing about when anything was written.

Can I get them without hyphens or inside braces?

No. The output is always the canonical 8-4-4-4-12 hyphenated form, one per line, and case is the only formatting choice. Strip the hyphens or add braces afterwards for a registry-style GUID.

Related tools

Browse all 25 tools