Version 4 UUIDs in your browser
A version 4 UUID is a 128-bit identifier with a fixed shape: 32 hex characters split as xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. The thirteenth hex character is always 4 (the version) and the seventeenth is 8, 9, a, or b (the variant). Every other position is random hex. The collision probability is small enough to treat them as globally unique for nearly any practical purpose.
The Count input asks for between 1 and 100 UUIDs. The output panel emits them one per line, lowercase, ready to paste into a database seed, a config file, or a list of test fixtures. The input panel on the left is ignored.
Randomness comes from Math.random() in your browser, which is enough for non-security UUIDs (database keys, request IDs, fixture data). For UUIDs that must be unguessable security tokens, use a server tool backed by a CSPRNG instead. See also the password generator for arbitrary-charset secrets.
How to use uuid generator (v4)
- 1Open the tool. The input panel can be left empty.
- 2Set Count in the option panel (default 1, maximum 100).
- 3The output panel fills with that many v4 UUIDs, one per line.
- 4Click Copy to grab the whole list.
- 5Click Download to save the result as a plain-text file.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Standard 8-4-4-4-12 hex format
Each UUID is 36 characters: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. Lowercase hex, four hyphens at the canonical positions. Pastes cleanly into Postgres uuid columns, MySQL CHAR(36), and JSON config files.
Version and variant bits set correctly
The thirteenth character is always 4 (version 4). The seventeenth is one of 8, 9, a, b (RFC 4122 variant). Every other character is uniformly random hex.
Bulk count up to 100
Set Count from 1 to 100. Useful for seeding fixtures, generating a batch of correlation IDs, or filling a CSV column with synthetic primary keys.
Browser-only generation
The generator runs in JavaScript on your machine. The output never leaves the page. No upload, no log.
Math.random source (not cryptographic)
Random hex digits come from Math.random(). That is suitable for non-security IDs. If a UUID will be used as an unguessable token, generate it server-side with a CSPRNG (for example crypto.randomUUID() on a Node server or uuid_generate_v4() in Postgres).
Worked example
Three v4 UUIDs. Note the 4 at position 13 (version) and the a/b at position 17 (variant). All other hex digits are random.
Count: 3
f47ac10b-58cc-4372-a567-0e02b2c3d479 7d8b3c44-9f21-4ad6-b8e1-1c5f0a3e9b27 3e4a91d0-2c7b-4f3e-8a14-9d6e5b2c0f81
Settings reference
| Option | Effect on output |
|---|---|
| Count | How many UUIDs to emit. Default 1, minimum 1, maximum 100. One per line. |
| UUID version | Fixed at 4 (random). Position 13 of every UUID is 4. |
| Variant bits | Fixed at RFC 4122. Position 17 is one of 8, 9, a, b. |
| Format | Lowercase hex, four hyphens, 36 total characters per line. Fixed. |
| Random source | Math.random(). Adequate for non-security UUIDs. |
FAQ
Are these RFC 4122 compliant?
4 and the variant nibble set to 8, 9, a, or b. The remaining bits are random.Can I get UUIDs in uppercase?
Are these safe as security tokens?
Math.random() source used here is not cryptographic.