UUID Generator
Decode or validate a UUID
Generated in your browser with a cryptographically secure random source. Nothing is sent to our servers.
How to generate UUIDs
- A fresh UUID v4 is ready at the top of the page. Press New UUID for another one, or Copy to put it on your clipboard.
- To make many at once, choose the version, how many you need (up to 1,000) and a format, then press Generate.
- Use Copy all or Download .txt to take them into your code, spreadsheet or database seed file.
- Paste any UUID into the decoder to check that it is valid and see its version, variant and, for time-based UUIDs, when it was created.
What is a UUID?
A UUID (universally unique identifier) is a 128-bit number written as 32 hex digits in five groups, like 3f2b8c1e-9d4a-4e7b-a1c2-5d6e7f8a9b0c. Because the number space is so large, anyone can create UUIDs independently, on any device, without ever checking with a central server, and still be confident no two will clash. That makes them ideal for database keys, file names, API request IDs and anything created offline or on many machines at once.
The 13th hex digit tells you the version, which is how the UUID was made. The first digit of the fourth group is the variant, which for standard UUIDs is always 8, 9, a or b.
UUID v4 vs UUID v7
| UUID v4 (random) | UUID v7 (time-ordered) | |
|---|---|---|
| Made from | 122 random bits | 48-bit millisecond timestamp + 74 random bits |
| Sort order | Random | In creation order |
| Database index | Inserts land all over the index, which fragments | Inserts append at the end, like an auto-increment ID |
| Reveals creation time | No | Yes, to the millisecond |
| Best for | Public tokens, anything that must not leak timing | Primary keys, event IDs, logs |
UUID v7 was standardised in RFC 9562 in 2024 and is now supported by PostgreSQL 18 (uuidv7()), most ORMs and every major language. If you are starting a new project and want UUID keys, v7 is usually the better default.
Generating UUIDs in code
// JavaScript (browsers and Node 19+)
crypto.randomUUID()
# Python
import uuid; uuid.uuid4()
// PHP (Laravel)
Str::uuid(); // v4
Str::uuid7(); // v7
-- PostgreSQL
SELECT gen_random_uuid(); -- v4
UUIDs for form submissions
A common use is giving every form submission or support ticket an ID people can quote back to you, without revealing how many you have received. If you collect submissions with formvoxo, each one already gets its own ID in your dashboard and in webhook payloads, so you can link them to records in your own system. See the docs for the webhook format.
Want the full guide? Read UUID v4 vs v7: Which Should You Use for Database IDs?.
Frequently asked questions
Are these UUIDs truly random and unique? +
They use your browser's cryptographically secure random number generator (crypto.getRandomValues). A v4 UUID has 122 random bits, so the chance of two ever colliding is too small to matter in practice.
Should I use UUID v4 or v7? +
Use v7 for database primary keys: it starts with a millisecond timestamp, so new IDs sort in creation order and keep B-tree indexes compact. Use v4 when the ID must not reveal when it was created, for example in public tokens.
What is the difference between a UUID and a GUID? +
Nothing practical. GUID is Microsoft's name for the same 128-bit identifier. Some Windows tools show GUIDs in uppercase or wrapped in braces, which you can choose in the format options.
Can I get the creation time back from a UUID? +
Only from time-based versions. Paste a v7 (or v1/v6) UUID into the decoder and it shows the embedded timestamp. A v4 UUID is pure randomness and contains no time.
Are the generated UUIDs sent to your server? +
No. They are generated in your browser and never leave your device.
More free tools
Need a backend for your HTML forms?
Point any form at formvoxo and get submissions in your inbox, with spam filtering built in. Free plan, no server code.
Create free account →