UUID Generator

Generate UUID v1 (timestamp-based) and v4 (random) identifiers for your projects.

fingerprint

Click "Generate" to create UUIDs

info

About UUID Generator

A UUID (Universally Unique Identifier) is a 128-bit identifier defined by RFC 4122 and formatted as 32 hexadecimal digits in five groups separated by hyphens — for example, 550e8400-e29b-41d4-a716-446655440000. Because the format is a recognised standard, UUIDs are interoperable across programming languages, databases, and cloud services without any coordination. They are the default choice for database primary keys, distributed event IDs, object storage keys, and API resource identifiers wherever two systems must agree on a unique reference without talking to a central authority first.

This tool supports version 4 (fully random, the most common choice for new projects) and version 1 (timestamp-based, useful when you need rough chronological ordering from the ID itself). Version 4 is generated with the browser Web Crypto API, which produces cryptographically strong random bytes and sets the required version and variant bits as specified by RFC 4122. Version 1 encodes the current time as 100-nanosecond intervals since the Gregorian epoch and appends a random clock sequence and node — giving you a UUID that carries implicit time information. You can also choose case (lowercase or uppercase) and whether to include the four standard hyphens, accommodating databases and languages that store UUIDs as plain 32-character hex strings.

Every identifier is generated entirely inside your browser. Nothing is transmitted to a server, logged, or stored between sessions. There are no accounts, rate limits, or fees — generate one UUID or fifty at a time, as often as you need.

star

Key Features

check_circle

RFC 4122 compliant output

Both v1 and v4 UUIDs are generated with the correct version bits and variant bits set, producing identifiers that are valid in any database or library that validates the standard format.

check_circle

Cryptographically strong randomness

Version 4 uses the browser Web Crypto API (crypto.randomUUID or crypto.getRandomValues), not Math.random, so the output is suitable for security-sensitive identifiers like session tokens and API keys.

check_circle

Timestamp-embedded v1 option

Version 1 encodes the current time as 100-nanosecond intervals since the Gregorian epoch. This makes v1 UUIDs loosely sortable by creation time, which can improve index locality in time-series tables.

check_circle

Format options: case and hyphens

Toggle between lowercase and UPPERCASE output, and choose whether to include the four standard hyphens or produce a compact 32-character hex string — matching whatever format your schema or ORM expects.

check_circle

Bulk generation up to 50 at once

Use the slider or numeric input to generate 1 to 50 UUIDs in a single click. Copy individual UUIDs with the per-row button or grab all of them at once with Copy All.

check_circle

Client-side only, no server round-trip

All generation runs in your browser. No UUID is sent to or stored on any server, making this safe for generating IDs for confidential records or internal tooling.

help

How to Use

01

Select Version

Choose UUID version 1 (timestamp-based) or version 4 (random) depending on your needs.

02

Set Options

Configure the number of UUIDs to generate and format preferences like case and hyphens.

03

Generate & Copy

Click Generate to create UUIDs, then copy them individually or all at once to your clipboard.

code_blocks

Example

Generating five UUID v4 identifiers with default settings (lowercase, with hyphens). Each value is a unique 128-bit random identifier ready to use as a database key or resource ID.

Settings
Version:  v4 (Random)
Count:    5
Case:     lowercase
Hyphens:  yes
Generated UUIDs
a3f2c1d4-8e7b-4a09-b5f6-2d1e0c9b3a7e
7d4e5f62-1a2b-4c8d-9e0f-3b6a5d2c4e1f
c9b8a7d6-e5f4-4b3c-a2d1-0e9f8c7b6a5d
f1e2d3c4-b5a6-4978-8b9c-a0d1e2f3c4b5
2b3c4d5e-f6a7-4809-b0c1-d2e3f4a5b6c7
lightbulb

Common Use Cases

  • arrow_circle_right

    Database primary keys without an auto-increment sequence

    Relational databases like PostgreSQL, MySQL, and SQLite accept UUID primary keys. Generating the ID client-side or application-side means you know the row ID before the insert completes, which simplifies optimistic UI updates and distributed writes.

  • arrow_circle_right

    Distributed systems and microservices

    When multiple services or worker nodes create records simultaneously, UUIDs avoid the coordination overhead of a shared sequence generator. Each node produces globally unique IDs independently, and records from different services can be merged without collisions.

  • arrow_circle_right

    Time-ordered identifiers with UUID v1

    Unlike random-string or token generators, UUID v1 encodes a timestamp. Storage engines that scan or sort on primary key benefit from this: rows inserted close together in time get adjacent keys, which reduces B-tree page splits in high-write workloads.

  • arrow_circle_right

    Testing and seeding fixture data

    When writing database migrations, unit tests, or seed scripts you often need a known set of valid UUIDs. Generate a batch here, paste them into your fixture files, and guarantee they pass UUID validation in your ORM or schema layer.

  • arrow_circle_right

    Object storage and content-addressed file names

    Rename uploaded files to a UUID before storing them in S3, GCS, or a CDN. The UUID prevents filename collisions from concurrent uploads and gives no information about the original file name to anyone who intercepts the URL.

quiz

Frequently Asked Questions

What is a UUID Generator? expand_more
A UUID Generator creates Universally Unique Identifiers — 128-bit values formatted as 32 hexadecimal digits displayed in five groups separated by hyphens (e.g., 550e8400-e29b-41d4-a716-446655440000). UUIDs are designed to be unique without requiring a central registration authority.
What is the difference between UUID v1 and v4? expand_more
UUID v1 is generated using the current timestamp (100-nanosecond intervals since October 15, 1582) combined with a random clock sequence and node value. This makes v1 UUIDs loosely sortable by creation time but partially predictable. UUID v4 is generated entirely from cryptographically random bytes with only the version and variant bits set deterministically, making it unpredictable and the most widely used version for general-purpose unique identifiers.
Are UUIDs truly unique? expand_more
For UUID v4, the probability of a collision is approximately 1 in 2^122. You would need to generate roughly 2.71 quintillion UUIDs before reaching a 50% chance of any two being identical. In practice, UUID v4 is treated as unique for all real-world workloads.
Can I generate UUIDs in bulk? expand_more
Yes. Use the count slider or the numeric input to generate between 1 and 50 UUIDs at once. Each UUID appears on its own row with an individual copy button. The Copy All button copies every UUID in the list as newline-separated text, ready to paste into a migration file or seed script.
How is this different from the Random String Generator? expand_more
The Random String Generator produces arbitrary character sequences of any length from any alphabet — it has no fixed format and the output is not a recognised standard. This UUID Generator always produces RFC 4122 compliant identifiers with the correct version bits, variant bits, and hyphen grouping. Use the UUID Generator when the system consuming the ID validates UUID format (e.g., PostgreSQL UUID columns, Java UUID.fromString, Python uuid.UUID). Use the Random String Generator when you need a token or code in a custom format.
What does the "No Hyphens" option produce? expand_more
Selecting "No Hyphens" removes the four dash characters, giving you a compact 32-character hexadecimal string such as 550e8400e29b41d4a716446655440000. Some ORMs and databases store UUIDs in this format internally. The value is still a valid UUID — the hyphens in the standard format are purely cosmetic delimiters.
Is my data secure? expand_more
Yes. All UUID generation runs entirely in your browser using the Web Crypto API. No generated UUID is transmitted to any server, logged, or stored. The randomness source for v4 is cryptographically strong, making the identifiers suitable for use in session tokens, API keys, and other security-sensitive contexts.
Can I use these UUIDs in production databases? expand_more
Yes. The generated UUIDs conform to RFC 4122 and will be accepted by any database column or application code that validates UUID format. For PostgreSQL, you can insert them directly into a uuid column. For MySQL 8+, store them in a CHAR(36) or BINARY(16) column. For application code, parse them with the standard UUID library in your language (e.g., uuid.UUID in Python, UUID.fromString in Java).