Free UUID Generator

Generate v4, v7, or v1 UUIDs (also called GUIDs) in bulk — up to 10,000 at a time. Cryptographically secure, formatted for every language and database.

🔒 Private. UUIDs are generated locally with crypto.randomUUID() — never logged.

Output (10 UUIDs)

What is a UUID and why do you need one?

A UUID (Universally Unique Identifier), also called a GUID (Globally Unique Identifier), is a 128-bit value that's practically guaranteed to be unique across every computer in the world. It's the standard way to identify a row in a distributed database, a user session, a file upload, an API request, or anything else that needs a name that no one else will ever accidentally generate. The math is stark: even if you generated a billion UUIDs per second, you would need over 80 years before you'd have a meaningful chance of a collision. That's why UUIDs power almost every modern database, message queue, and distributed system.

Our UUID generator produces every common variant of the standard: v4 (random, the default choice), v7 (a newer time-ordered variant that's better for database primary keys), v1 (time and MAC based, the original), and Nil (all zeros — used to represent "no ID yet"). We also include Nano ID, a shorter URL-safe alternative that's popular in modern web apps. Every UUID is generated using the browser's cryptographic random source, so they meet security requirements for tokens, session IDs, and API keys.

How to use the UUID generator

  1. Choose the UUID version from the dropdown. v4 is what 90% of users want. Pick v7 if you'll use these as database primary keys.
  2. Set how many you need (1 to 10,000). Bulk generation is handy for seeding a database with test data or creating a batch of API keys.
  3. Toggle format options — uppercase, braces (SQL Server format), no hyphens (Salesforce/Amazon style), or quotes (ready to paste into a JSON array).
  4. Click Generate UUIDs — the results appear instantly. Copy all with one click or download as a .txt file.

UUID versions explained

VersionFormatWhen to use
v4 (Random)a3f8c1e2-4b7d-4c9e-8f1a-5b6c7d8e9f0aDefault choice. Any time you need a unique ID and don't care about ordering.
v7 (Time-ordered random)018f4b3a-...-8f1a-5b6c...Database primary keys. Sorts chronologically, which dramatically improves index performance on InnoDB and PostgreSQL.
v1 (Timestamp + MAC)c232ab00-9414-11ec-b909-0242ac120002Legacy systems. Rarely used today because it leaks the generating machine's MAC address.
Nil00000000-0000-0000-0000-000000000000Placeholder value meaning "no UUID yet". Useful in default values.
Nano IDV1StGXR8_Z5jdHi6B-myTShorter (21 chars vs 36), URL-safe, still collision-resistant. Popular in modern web apps.

Popular use cases

Database primary keys. Instead of auto-increment integers (which reveal record counts and complicate multi-master replication), modern databases increasingly use UUIDs as primary keys. Postgres has native UUID support; MySQL 8.0 supports it via BINARY(16); every major ORM (Django, Rails, Prisma, Sequelize) treats UUIDs as first-class citizens. Use v7 for these — the time-ordered property means new rows get inserted at the end of the B-tree index instead of causing random-write fragmentation.

API request tracing. Every incoming HTTP request in a production system gets tagged with a unique request ID — usually a UUID. This lets you trace one user's action across a dozen microservices in your logs. Distributed tracing tools like Jaeger and Zipkin depend on UUIDs for their trace IDs.

Session tokens and API keys. A cryptographically random v4 UUID has 122 bits of entropy — enough to be safe as a bearer token, session ID, or password-reset link. This tool uses crypto.randomUUID() (or crypto.getRandomValues() for older browsers), which is the same random source browsers use for HTTPS handshakes.

File upload names. Naming an uploaded file "screenshot.png" causes collisions the moment two users upload files with the same name. Renaming to a3f8c1e2-4b7d-...-.png guarantees uniqueness across all users, all time.

Test data seeding. Generating 10,000 UUIDs in bulk is exactly what you need when populating a staging database with fake users, orders, or events for load testing.

Configuration and infrastructure. Cloud providers like AWS, Azure, and Google Cloud use UUIDs everywhere — as instance IDs, subscription IDs, resource IDs. When writing infrastructure-as-code (Terraform, Pulumi), you sometimes need to generate a UUID for a resource that requires one.

Format options for every context

Default format is 8-4-4-4-12 hexadecimal digits separated by hyphens: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. This is what RFC 4122 specifies and what Postgres, JSON, and most languages expect.

Uppercase is required by some Microsoft systems and Salesforce. All hex digits become A-F instead of a-f.

Braces wrap the UUID in curly braces: {xxxxxxxx-...}. This is the Windows / SQL Server / .NET convention and is required when pasting a UUID into some GUI tools.

No hyphens gives a 32-character hex string: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Some databases and APIs prefer this compact form. Amazon Order IDs and Salesforce record IDs use similar patterns.

Wrap in quotes outputs "xxx" per line, ready to paste directly into a JSON array or a language string literal.

Frequently Asked Questions (FAQs)

Are these UUIDs cryptographically secure?

Yes. v4 and v7 UUIDs use crypto.randomUUID() when available (native to all modern browsers and Node.js 19+) or crypto.getRandomValues() as fallback — both draw from the operating system's cryptographic RNG. They're safe for security-sensitive uses like session tokens or API keys.

What's the difference between UUID and GUID?

They're the same thing. Microsoft uses "GUID" in their documentation; the rest of the industry uses "UUID". The format is identical — 32 hex characters in 8-4-4-4-12 groups.

Can two UUIDs ever collide?

In theory, yes. In practice, no. The probability of generating a duplicate v4 UUID by chance is 1 in 2^122, or roughly 1 in 5 undecillion. If every person on Earth generated a billion UUIDs per second for a century, the probability of a single collision would still be negligible.

Should I use UUIDv4 or UUIDv7 for a database primary key?

Use v7 if your database supports it. v7 UUIDs are time-ordered, which means they insert at the end of a B-tree index instead of causing random writes across the whole index. On large tables, v7 can be 5-10× faster for insert-heavy workloads than v4.

Does the tool work offline?

Yes. Once the page loads, all UUID generation runs in your browser's JavaScript engine. No server calls, no external APIs. Verify by opening DevTools Network tab while clicking Generate — you'll see zero requests.

What is Nano ID and when should I use it?

Nano ID is a 21-character URL-safe unique ID. It's shorter than a UUID (21 vs 36 characters) but has similar collision resistance (126 bits of randomness). Use it when you need unique IDs in URLs where length matters (short links, invite codes, session slugs).