Docspira

UUID Generator

Generate random (v4) or time-ordered (v7) UUIDs. Everything runs locally in your browser; nothing you generate is sent to Docspira.

Version

Quantity

max 10,000

Formatting

Output

Generated UUIDs are never sent to Docspira. Learn more.

Validate a UUID

About UUID v4 and v7

UUIDs are generated per RFC 9562. v4 is fully random (122 random bits); v7 embeds a millisecond Unix timestamp so values sort roughly in creation order, which is useful as a database primary key. Both have an extremely low collision probability, not a mathematical guarantee of uniqueness.

What this tool does

Generate UUIDs for records, test data, and identifiers.

How to read a UUID

01a0e7f0-0dd6-74c0-9b94-53baa32cc282
               │    │
               │    └─ variant: 8, 9, a or b for standard UUIDs
               └────── version: the first digit of the third group

A UUID is 128 bits written as 32 hexadecimal digits in five groups (8-4-4-4-12). The first digit of the third group tells you the version, which tells you how it was made. Paste any UUID into Validate a UUID above to check it and see its version.

Version How it's made You'll see it in
v1 Timestamp plus the machine's MAC address Older systems. Leaks when and where it was created
v3 / v5 Hash of a namespace and a name (MD5 / SHA-1). Same input, same UUID Deterministic IDs derived from names or URLs
v4 122 random bits The default almost everywhere
v7 48-bit millisecond timestamp, then random bits New databases and event logs that benefit from time order
Nil 00000000-0000-0000-0000-000000000000 A placeholder for "no ID"

v4 or v7: which should you use?

v4 v7
Randomness 122 random bits 74 random bits plus a timestamp
Sort order Random Roughly by creation time
Database primary key Works, but random inserts scatter across a B-tree index and slow large tables down Inserts land at the end of the index, like an auto-increment
Reveals anything? No When it was created, to the millisecond
Support Everywhere, including crypto.randomUUID() in browsers and Node.js Newer libraries (RFC 9562, 2024); PostgreSQL 18 has uuidv7()

Rule of thumb: use v7 for primary keys in a new database, and v4 for anything public where the creation time shouldn't be visible (invite links, share tokens, file names).

The timestamp in a v7 UUID is readable by anyone: the first 12 hex digits are milliseconds since 1970. For 01a0e7f0-0dd6-7..., that's 0x01a0e7f00dd6, which the Unix timestamp converter turns into a date in September 2026.

Will two UUIDs ever collide?

For v4, you'd need to generate about 2.7 quintillion (2.7 × 10¹⁸) UUIDs before there's even a 50% chance that any two of them are the same. At a billion UUIDs per second, that's about 86 years. In practice, collisions come from bugs, not chance: a broken random number generator, copying the same UUID into several rows, or a v1 generator on cloned virtual machines.

Formats you may need

Format Example Where
Lowercase with hyphens 2bdd8f9b-30ea-4aa4-995c-9dbff49da30b The standard form. Use this unless something requires another
Uppercase 2BDD8F9B-30EA-4AA4-995C-9DBFF49DA30B Some Windows and .NET tools. UUIDs are case-insensitive
No hyphens 2bdd8f9b30ea4aa4995c9dbff49da30b Compact storage, URLs, some databases
Braces {2bdd8f9b-30ea-4aa4-995c-9dbff49da30b} Windows registry and COM (GUIDs)

A GUID is Microsoft's name for the same thing. The formatting options above cover all four forms, for one UUID or up to 10,000 at once.

FAQ

Are these UUIDs secure enough for tokens?

v4 UUIDs here come from the browser's cryptographic random generator (crypto.randomUUID()), so they're unpredictable. Still, a UUID is an identifier, not a secret: for passwords, API keys or session tokens, use a purpose-built secret with more randomness and proper storage.

Are the generated UUIDs sent anywhere or stored?

No. They're generated in your browser and never sent to Docspira. Nobody else has a copy.

Can I generate UUIDs in bulk?

Yes, up to 10,000 at a time, and download them as a .txt file with one UUID per line.

How do I store UUIDs in a database?

Use the native type when there is one: uuid in PostgreSQL, UNIQUEIDENTIFIER in SQL Server. In MySQL, BINARY(16) takes less than half the space of CHAR(36).

Why does my UUID fail validation?

Common causes: a missing or extra character (it must be 32 hex digits), letters outside a–f, or a version or variant digit that doesn't match any standard version.

Before you start

Use UUIDs as identifiers, not as passwords or secrets; the tool can also inspect a UUID's version and validity.

Privacy

This tool runs in your browser; the text or file you choose is not uploaded for processing. Read the privacy details.