UUID / GUID Generator

Generate 1 to 100 UUIDs at once — version 1 (time-based), version 4 (random), version 7 (time-ordered), or the special Nil/Max UUIDs — using your browser's cryptographically secure random generator. Choose lowercase/UPPERCASE, hyphens, no-hyphens, or braces {…} formats, then copy as a plain list, array, or SQL values.

Nil and Max UUIDs are fixed constants, not random values — selecting either always generates just 1, ignoring "How many?".

Validate a UUID

How to Generate UUIDs

  1. Enter how many UUIDs you want (1 to 100) in the "How many?" field.
  2. Pick a UUID version: 1 (time-based), 4 (random, default), 7 (time-ordered), or the fixed Nil/Max constants.
  3. Choose lowercase or UPPERCASE letters, and a format (with hyphens, no hyphens, or wrapped in braces for Windows-style GUIDs).
  4. Click "Generate" to produce the list.
  5. Copy one UUID with its row's "Copy" button, or pick a "Copy format" and click "Copy All" to copy the whole batch as a list, CSV, array, or SQL VALUES rows.
  6. To check a UUID you already have, paste it into "Validate a UUID" and click "Check" to see its version and variant.

Frequently Asked Questions

What UUID versions does this tool support?

Four options: version 1 (time-based, using the current timestamp plus a randomly generated node identifier since browsers don't expose a MAC address), version 4 (fully random, the most common choice), version 7 (time-ordered — sorts chronologically like version 1 but uses a Unix millisecond timestamp per RFC 9562, which makes it a good primary key for databases), and the two special constants, the Nil UUID (all zeros) and the Max UUID (all ones).

How is the randomness actually generated?

Version 4 UUIDs are generated with the browser's built-in crypto.randomUUID() when available, falling back to 16 random bytes from crypto.getRandomValues() with the version and variant bits set by hand. Versions 1 and 7 always build their bytes manually from crypto.getRandomValues() output combined with the current timestamp, since they aren't plain random UUIDs.

What do the letter case and format options change?

They only affect how the UUID is displayed — uppercase versus lowercase letters, and whether it's shown with hyphens, without hyphens, or wrapped in curly braces like {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}, the format Windows uses for GUIDs in the registry and COM code. The underlying 128-bit random value and its uniqueness are identical in every format.

Can two generated UUIDs collide?

In practice, no. A version 4 UUID has 122 random bits, so the odds of a duplicate are astronomically small. Version 1 and version 7 UUIDs add a timestamp on top of dozens of random bits, so two generated at the exact same moment would still need to also match on every random bit to collide — equally implausible. This is why UUIDs are trusted as unique identifiers without checking for collisions.

Is there a limit to how many UUIDs I can generate at once?

Yes — the count field accepts 1 to 100 per click; entering a higher number is automatically capped at 100.

What are the Nil and Max UUIDs?

The Nil UUID (00000000-0000-0000-0000-000000000000) and Max UUID (ffffffff-ffff-ffff-ffff-ffffffffffff) are two reserved constants defined by the UUID specification, representing the lowest and highest possible 128-bit values. They're sometimes used as sentinel values in code — for example to mean 'no ID assigned' — rather than as everyday random identifiers, so selecting either of them from the version dropdown always returns the same constant instead of a new random value.

How does version 1 get a node ID without my MAC address?

Real version 1 UUIDs are meant to embed the generating computer's network card address, but browsers don't expose that for privacy reasons. Instead, this tool generates a random 48-bit node ID and sets its multicast bit, exactly as RFC 4122 recommends when a real hardware address isn't available — so the result is a valid, spec-compliant version 1 UUID that simply can't be traced back to a physical device.

What copy formats are available for a batch of UUIDs?

Besides copying one UUID at a time, 'Copy All' can output the whole batch as a plain list (one per line), a comma-separated line, a JSON/JavaScript array literal like ["...", "..."], or a SQL VALUES clause ready to paste into an INSERT statement. Pick the format from the 'Copy format' dropdown before clicking Copy All.

Can I check whether a UUID I already have is valid?

Yes — paste it into the 'Validate a UUID' box and click Check. The tool accepts UUIDs with or without hyphens or braces, tells you whether the format is valid, reports its version number (or that it doesn't have a recognized RFC 4122 version), and shows its variant bits, so you can confirm an ID from another system is actually a well-formed UUID.