Database fixture IDs
Populate unrelated test records with independent random identifiers.
Use the canonical hyphenated form unless the schema explicitly requires another representation.
Generate 1 to 5,000 random version 4 UUIDs with optional hyphens, uppercase letters, braces, and quotes.
Content last reviewed
Generate random v4 UUIDs and customize their format.
0 v4 UUIDs
Overview
Generate 1–5,000 UUID version 4 values through crypto.randomUUID, then optionally remove hyphens, uppercase hex, add braces, or add quotes. Those toggles change representation only; the underlying 128-bit UUID fields were created before formatting.
Every raw value comes from crypto.randomUUID rather than Math.random or a server batch.
Five count presets and a bounded number field cover small lists and bulk fixtures.
Hyphens, uppercase, braces, and quotes update the current list automatically.
The generated set stays in a read-only text area ready for a deliberate Copy action.
How it works
Three steps, in the order the tool above actually takes them.
Enter a value from 1 to 5,000 or use a preset count.
Choose canonical hyphens or apply casing and wrappers required by a fixture or statement.
Create a fresh random set and move it to the intended non-secret identifier field.
Use cases
The jobs this page is usually opened for, and the setting that makes each one quick.
Populate unrelated test records with independent random identifiers.
Use the canonical hyphenated form unless the schema explicitly requires another representation.
Wrap each value in quotes before copying into an array, seed, or test case.
The page separates entries by newlines; add commas or other syntax in the destination editor.
Apply braces and uppercase for a consumer whose convention expects GUID-style display.
Braces and casing do not change version, variant, randomness, or collision properties.
Hard to guess is not authorization
UUIDv4 has a large random space, but identifiers routinely appear in logs, links, histories, and support material. Sensitive resources still need authentication and authorization.
| Property | Overreach | Correct use |
|---|---|---|
| Randomness | An unguessable URL needs no access check. | Treat the UUID as an identifier and enforce authorization for every request. |
| Uniqueness | Collision probability is literally zero. | The space makes accidental collision extremely unlikely, not impossible; keep database constraints where uniqueness matters. |
| Version nibble | The fixed 4 means the random source is weak. | It identifies UUID version 4; the variant bits are fixed too, leaving 122 random bits. |
| Formatting | Removing hyphens creates a different UUID. | Casing, hyphens, braces, and quotes change serialization, not the 128-bit value. |
An unguessable URL needs no access check.
Treat the UUID as an identifier and enforce authorization for every request.
Collision probability is literally zero.
The space makes accidental collision extremely unlikely, not impossible; keep database constraints where uniqueness matters.
The fixed 4 means the random source is weak.
It identifies UUID version 4; the variant bits are fixed too, leaving 122 random bits.
Removing hyphens creates a different UUID.
Casing, hyphens, braces, and quotes change serialization, not the 128-bit value.
Privacy
UUIDs are generated by the browser and remain in this tab. No identifier batch is requested from or stored by a server.
Encoding, parsing, formatting, generation, comparison, and cryptographic operations run in browser code. Form values and uploaded text files are not sent to a processing API.
Code, tokens, secrets, URLs, and generated outputs stay in component memory until the page reloads or closes. Split-pane tools remember only the divider percentage for the current tab session.
The page reads the clipboard only after a Paste action and writes it only after Copy. A local download is created only when you choose the tool's download control.
The page shell can send the tool slug, never the editor contents or filename. The endpoint is rate-limited using a transient requesting address and is skipped for Do Not Track or Global Privacy Control.
More detail in how processing works and our privacy policy.
Limits
The values this tool actually enforces, not a rounded-up version.
Version 4 only. There is no v1 (MAC address and timestamp), v5 (namespace and SHA-1) or v7 (time-ordered) here, and no way to supply a namespace or seed — a seeded generator would defeat the point of the randomness. Generation is capped at 5,000 per run.
FAQ
The ones that actually come up.