UUID Structure:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
time_low time_mid version variant node

M = version (1/4/7), N = variant (8/9/a/b for RFC 4122)

UUID Validator

Enter a UUID to validate and get detailed information about its version and structure.

Recent Generations

No history yet. Generate some UUIDs to see them here.

Key Features

🔢 Multiple Versions

Generate both UUID v1 (timestamp-based) and v4 (random) UUIDs.

⏱️ Bulk Generation

Generate up to 100 UUIDs at once for testing and development.

📋 Easy Copy

Copy individual UUIDs or all generated UUIDs with one click.

⚡ Instant Results

Generate UUIDs instantly with no server roundtrip required.

Frequently Asked Questions

Getting Started

What is a UUID?

A UUID (Universally Unique Identifier) is a 128-bit identifier standardized by RFC 4122, used to uniquely identify information in computer systems. It is typically represented as a 36-character string in the format `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` (8-4-4-4-12 hex digits). UUIDs have an extremely low probability of collision, making them ideal for distributed systems, database primary keys, session identifiers, and API keys without requiring central coordination.

What is the difference between UUID v1 and v4?

UUID v1 is time-based, generated from the current timestamp and the device's MAC address (or random node), making it sortable by creation time. However, it may expose the time and MAC address, raising privacy concerns. UUID v4 is random-based, using 122 bits of randomness from a cryptographically secure generator. It offers no time correlation but provides stronger privacy, unpredictability, and is the most commonly used version in web and mobile applications.

Which UUID version should I use?

For most modern applications, UUID v4 (random) is recommended due to its simplicity and privacy. Use UUID v1 only when you need time-based sorting and privacy is not a concern, such as in legacy systems or internal logging. For database primary keys requiring better index locality, consider UUID v7 (time-ordered with random suffix). For deterministic generation (same input produces same UUID), use UUID v3 or v5 with a namespace.

Is this UUID generator safe?

Yes, this UUID generator is completely safe. All generation operations run locally in your browser using JavaScript's `crypto.getRandomValues()` for UUID v4 and `performance.now()` for timestamp-based versions. No data is ever sent to any server, and generated UUIDs never leave your device. This tool is safe for local development, testing, and even production use without any privacy or security concerns.

Using the Generator

How do I generate UUIDs?

To generate UUIDs, select your preferred version (UUID v1 for timestamp-based or UUID v4 for random), choose the quantity (1 to 100 using the input box or +/- buttons), pick your desired format (with dashes, without dashes, uppercase, or uppercase without dashes), and click the "Generate UUIDs" button. The results will appear instantly in the output area below. You can then copy individual UUIDs or use "Copy All" to copy all generated UUIDs to your clipboard.

What formats are available?

This UUID generator supports four common output formats: (1) **With Dashes** - the standard 8-4-4-4-12 format (e.g., `123e4567-e89b-12d3-a456-426614174000`), (2) **Without Dashes** - 32 continuous hex digits (e.g., `123e4567e89b12d3a456426614174000`), (3) **Uppercase** - standard format with uppercase letters, and (4) **Uppercase Without Dashes** - 32 uppercase hex digits. Use the format selector dropdown to switch between formats instantly.

Can I generate multiple UUIDs at once?

Yes, you can generate up to 100 UUIDs in a single batch using this online UUID generator. Use the quantity selector (with +/- buttons or direct number input) to set the desired number between 1 and 100. The results will be displayed as a list, and you can copy all generated UUIDs at once using the "Copy All" button. This bulk generation feature is ideal for generating test data, preparing database seed scripts, or populating mock datasets for development.

Examples

Example: UUID v4 (Random)

A typical UUID v4 looks like: `3b3c6f54-9f3a-4f2e-8b9c-1a2b3c4d5e6f`. The digit `4` in the third group's first character (`4f2e`) indicates version 4. All other characters (except the variant bits) are randomly generated using a cryptographically secure random number generator, providing approximately 5.3 × 10^36 possible unique values.

Example: UUID v1 (Timestamp-based)

A UUID v1 example: `8c4e7e7a-1e2a-11ee-be56-0242ac120002`. The time component occupies the first three groups (timestamp and clock sequence), and the last group contains the node identifier (often derived from MAC address). The version digit in the third group's first character is `1`. These UUIDs are chronologically sortable but may reveal the generating device's MAC address and creation time.

Common Use Cases

When should I use UUIDs?

Use UUIDs for database primary keys (especially in distributed databases like Cassandra, CockroachDB, or PostgreSQL), session tokens, API keys, file or resource identifiers, correlation IDs in microservices architectures, offline-first applications requiring local ID generation, and any scenario requiring globally unique identifiers without a central coordinating authority. UUIDs eliminate the need for round-trips to a database for ID generation.

UUID vs Auto-Increment IDs

Auto-increment integers are simple, human-readable, and efficient for single-database deployments, but they require a central sequence, expose entity counts and ordering, and don't work well in distributed systems. UUIDs are universally unique without central coordination, work seamlessly in distributed databases, and don't expose business metrics like record count. However, UUIDs are larger (16 bytes vs 4-8 bytes) and may impact B-tree index performance unless using time-ordered versions like UUID v7.

Can I use UUIDs in URLs?

Yes, UUIDs can be used in URLs safely. The standard format with dashes (e.g., `/users/123e4567-e89b-12d3-a456-426614174000`) works well and does not require URL encoding since hyphens are safe characters in URL paths. Avoid using the "without dashes" format in URLs as it may be less readable and could be misinterpreted by some parsers. For public-facing URLs, consider using a slug alongside the UUID for better SEO and readability.

Can I generate GUIDs?

Yes. GUID (Globally Unique Identifier) is Microsoft's implementation of the UUID standard. GUIDs are functionally identical to UUIDs in most contexts and are fully compliant with RFC 4122. All UUIDs generated by this tool are also valid GUIDs. This means you can use this UUID generator for any application requiring either UUID or GUID identifiers, including Windows applications, .NET development, and COM components.

Technical Details

How unique are UUIDs?

UUIDs are extremely unique. For UUID v4 with 122 random bits, the probability of generating a duplicate is approximately 5.3 × 10^-36. To put this in perspective, you would need to generate billions of UUIDs per second for billions of years to have a realistic chance of collision. UUID v1 uses a timestamp (ensuring uniqueness across time) combined with a unique node identifier, making collisions virtually impossible unless the node ID is misconfigured.

What is UUID structure?

A UUID is a 128-bit value divided into five fields: `time_low` (32 bits, 8 hex digits), `time_mid` (16 bits, 4 hex digits), `time_hi_and_version` (16 bits, 4 hex digits containing the version nibble), `clock_seq_hi_and_res` and `clock_seq_low` (16 bits total, 4 hex digits containing the variant bits), and `node` (48 bits, 12 hex digits). The standard textual representation is `xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx` where `M` indicates the version (1-8) and `N` indicates the variant (typically 8, 9, A, or B for RFC 4122).

What is UUID v7 (new standard)?

UUID v7 is a time-ordered UUID defined in the new draft RFC (draft-ietf-uuidrev-rfc4122bis). It encodes a Unix timestamp (milliseconds since epoch) in the first 48 bits, followed by random data for uniqueness. v7 combines the time-sortability of v1 with the randomness and simplicity of v4, making it ideal for database primary keys (improves B-tree index locality) and applications requiring monotonic order. It's replacing v1 for most modern use cases.