Free plan

50 submissions/month · no credit card · View plans

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

  1. 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.
  2. To make many at once, choose the version, how many you need (up to 1,000) and a format, then press Generate.
  3. Use Copy all or Download .txt to take them into your code, spreadsheet or database seed file.
  4. 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 from122 random bits48-bit millisecond timestamp + 74 random bits
Sort orderRandomIn creation order
Database indexInserts land all over the index, which fragmentsInserts append at the end, like an auto-increment ID
Reveals creation timeNoYes, to the millisecond
Best forPublic tokens, anything that must not leak timingPrimary 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.

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 →