UUID Generator & Inspector
Generate secure browser-local identifiers and inspect UUID versions, variants, and v7 timestamps.
Generate a bounded batch
Choose a version and generate 1 to 1,000 identifiers.
One lowercase UUID per line. No Math.random fallback, network request, or stored generation history.
Inspect UUID structure
Enter a canonical UUID or load the published RFC example.
Generate UUIDv4 and UUIDv7, then inspect their structure
The generator uses crypto.getRandomValues from the browser and sets the RFC version and variant bits. It produces canonical lowercase UUID text. Choose v4 for random identifiers or v7 when a millisecond timestamp prefix is useful. No network, account, or random fallback service is involved.
How to generate and inspect
- Choose v4 or v7 and an integer batch size from 1 to 1,000.
- Select Generate UUIDs. Copy or download the exact newline-separated batch.
- Paste one canonical UUID into the inspector to identify its variant, version nibble, and special nil or max value.
- For RFC-variant v7, read the embedded epoch milliseconds and UTC time. The published example is a fixed RFC test vector, not a newly generated identifier.
Version 7 ordering and privacy
This implementation places an unsigned 48-bit Unix millisecond timestamp first and fills the other 74 available bits with secure random data. It uses no counter or sub-millisecond sequence. A batch shares one timestamp, so identifiers within that batch do not have a guaranteed generation order. A device clock moving backward can also move later prefixes backward. The prefix exposes a claimed creation time and is not an authentication claim.
What inspection cannot prove
Matching the syntax or RFC variant cannot establish that an identifier is unique, unpredictable in its original system, authentic, or tied to a particular person. Nil and max are special all-zero and all-one values. Reserved variants and version nibbles are reported without inventing semantics. UUIDs should not be treated as passwords or permission checks.
Limits and browser support
Generation is limited to 1,000 UUIDs per action, within the browser random API's byte quota. If secure randomness is absent or fails, no identifiers are returned. v7 time must be an unsigned 48-bit integer. The inspector accepts uppercase or lowercase canonical 8-4-4-4-12 text and normalizes display case; braces, URN prefixes, and malformed values fail explicitly.
Official references
See RFC 9562 for UUID layouts and the example vector, and crypto.getRandomValues for secure random generation and its byte limit.