UUID Generator

Bulk v4 UUIDs from the browser CSPRNG. Pick a count, copy the block.

UUIDs
—

Worked example

A v4 UUID carries 122 random bits. You would need to generate about 2.7 × 1018 of them before a 50% chance of any collision — which is why they are safe as database keys without a central sequence.

Version 4 UUIDs are random, not derived from time or hardware. That is the point: no machine identifier leaks, no ordering is implied, and two machines can generate concurrently without coordinating. The trade-off is that they are poor database index keys — random inserts scatter across B-tree pages, where a time-ordered UUIDv7 or a ULID would append.

Where the randomness comes from

crypto.getRandomValues, the same CSPRNG used for keys. Math.random is a deterministic PRNG seeded from a few bytes of state; UUIDs built from it can be predicted, and there are documented cases of exactly that being exploited.

Braces and case

The RFC canonical form is lowercase with hyphens and no braces. Braces are a legacy Microsoft convention that some .NET APIs still emit. Case is meaningless for the value but some validation regexes are case-sensitive, which is the only reason the toggle exists.

Version 4 specifically

The generator sets the version nibble to 4 and the variant bits to RFC 4122, so the output validates as version 4 rather than merely looking like a UUID. The other versions — v1 time-based, v5 name-based — are deliberately not offered: v1 leaks MAC addresses, and v3/v5 are for deterministic derivation, which needs a namespace and a name rather than a button.