UUID Generator
A version 4 UUID holds 122 random bits in 36 characters, enough for two machines to mint identifiers without checking with each other first. This random UUID generator draws 1 to 100 of them per batch, in the canonical 8-4-4-4-12 form, with an uppercase option and a hyphen-free variant for columns that store the 32 digits flat. Generation happens in the browser, so no value reaches a server.
Your UUIDs
Click a UUID to copy it
Examples
How to use
- 1
Set the count field to the number of UUIDs needed, anywhere from 1 to 100. The tool clamps anything outside that range back into it.
- 2
Switch Uppercase on to get A to F in capitals. Switch Hyphens off for the flat 32-character form that a
CHAR(32)column expects. - 3
Press Generate again for a fresh batch. Every value in the list changes while the count and the formatting stay where they were set.
- 4
Click any UUID to copy it to the clipboard. The buttons under the tool save the whole batch as TXT or CSV.
What is a UUID generator?
A UUID generator produces identifiers that stay unique without a central registry handing out numbers. Two servers, a phone and a nightly batch job can each mint one in the same millisecond without checking with each other. That independence is why a row needing its key before the insert gets a UUID instead of an auto-increment counter. The same holds for an idempotency key on a payment retry.
This page draws 1 to 100 values per batch and does it in the browser, so nothing travels to a server. That first list comes out of the settings alone, which is why a reload with the same count and formatting returns the same values. Pressing Generate again replaces them with a fresh draw.
What do the 36 characters of a UUID contain?
The canonical form runs to 36 characters, 32 hexadecimal digits split 8-4-4-4-12 by four hyphens. Two of those digits are fixed rather than random. The 13th hex digit is always 4 and marks the version. The first digit of the fourth group is always 8, 9, a or b and encodes the variant defined by RFC 4122.
| Group | Length | Example | What it holds |
|---|---|---|---|
| 1st | 8 hex digits | 9f2c41ae | random |
| 2nd | 4 hex digits | 7b30 | random |
| 3rd | 4 hex digits | 4d8e | version digit 4, then random |
| 4th | 4 hex digits | a15c | variant digit 8/9/a/b, then random |
| 5th | 12 hex digits | 6e0b93f4d217 | random |
Turning on Uppercase changes the case of the letters a to f and nothing else. Turning off Hyphens leaves the same 32 digits in a row, the form a CHAR(32) column expects. Both variants hold the identical value, so switching between them loses nothing.
How unique is a randomly generated UUID?
The version and variant fields pin six of the 128 bits, which leaves 122 random bits and about 5.3 × 10³⁶ possible values. The chance of a duplicate sits near one in a billion once 103 trillion of them exist. At a million per second, a machine needs over three years of continuous work to reach that count.
That figure describes the version 4 format. The values on this page come from a fast pseudorandom generator, a choice that suits identifiers and rules them out for anything secret. Tokens and passwords belong in the password generator instead.
Which UUID version does this generator produce?
Every value here is a version 4 UUID, drawn at random with no timestamp and no machine identifier hidden inside it. Version 1 embeds the creation time and the network card address of the machine that issued it, which is why most teams avoid it in anything public facing. RFC 9562, the specification that replaced RFC 4122 in 2024, added version 7. It puts a Unix millisecond timestamp in the first 48 bits so that identifiers sort in creation order, which keeps database index inserts at the end of the tree instead of scattering them.
This page generates neither. Both encode the real moment of creation while the output here derives from the chosen settings alone, so a version 7 built under that constraint would carry a fabricated timestamp whose sort order means nothing.
How to generate a UUID outside this page
Most runtimes ship a UUID function without any extra dependency, so one line of code returns a version 4 value.
| Where | Call | What comes back |
|---|---|---|
| Browser JavaScript | crypto.randomUUID() | a version 4 string |
| Python | uuid.uuid4() | a UUID object |
| PostgreSQL | gen_random_uuid() | a uuid value |
| macOS and Linux shell | uuidgen | one UUID on standard output |
A console suits scripted work, where the value goes straight into a variable. For two UUIDs going into a test fixture or a bug report, opening one is more effort than it saves.
Parameters
Every field of this tool can be prefilled from the URL. Use these query parameters:
| Parameter | Type | Default |
|---|---|---|
| count | number | 5 |
| uppercase | boolean | false |
| hyphens | boolean | true |
Example : https://www.veltotools.com/generator/uuid-generator?count=1
API
The same tool is available as a free JSON API, with the same parameters as above. No key, no sign-up.
Frequently asked questions
Updated Aug 27, 2026