UUID generator

Generate RFC 4122 compliant UUIDs instantly

Overview

The UUID Generator creates universally unique identifiers (UUIDs) compliant with RFC 4122. UUIDs are 128-bit identifiers used to uniquely identify information in computer systems. This tool supports 5 different UUID versions, each with its own generation method and use cases.

UUID v4
Random (secure) - cryptographically random, most commonly used
UUID v7
Time-ordered - sortable by creation time, ideal for databases
UUID v1
Timestamp-based - includes timestamp and node identifier
UUID v5
Name-based (SHA-1) - deterministic from namespace and name
UUID v8
Custom payload - user-defined data in UUID format

Interface overview

The UUID Generator has a clean, organized interface. Here's what you'll find:

1

UUID Version selector

At the top, you'll see 5 version buttons:
UUID v4: Random (secure)
UUID v7: Time-ordered
UUID v1: Timestamp-based
UUID v5: Name-based (SHA-1)
UUID v8: Custom payload

Click any button to switch versions. The active version shows with a colored border (green). You can also collapse this section using the arrow icon on the right.

UUID Version selector showing 5 version buttons - v4, v7, v1, v5, and v8
UUID Version selector with all 5 versions
2

Settings panel

Below the version selector, you'll find version-specific settings:
v4, v7, v1: Count field only
v5: Namespace dropdown + Name input (+ Custom NS for custom namespace)
v8: Custom payload configuration

Settings panel showing version-specific options
Settings panel with Count, Namespace, and Name fields
3

Generate button

The orange GENERATE button creates UUIDs with your current settings. Click it to generate the specified number of UUIDs.

Orange Generate button
The Generate button
4

Generated UUIDs section

The Generated UUIDs area displays your generated UUIDs. Before generation, it shows Generated UUIDs will appear here.... On the right side are three action buttons:
Copy (clipboard icon) - copy all UUIDs to clipboard
Download (download icon) - download as text file
Clear (trash icon) - clear all generated UUIDs

Generated UUIDs section showing output area with Copy, Download and Clear buttons
Generated UUIDs section with action buttons
5

Output formatting options

At the bottom left, checkboxes control UUID formatting:
Hyphens: include standard hyphens (default is enabled)
Braces: wrap in curly braces {}
Quotes: wrap in double quotes ""
Commas: add commas between UUIDs
Uppercase: convert to uppercase letters

Output formatting checkboxes - Hyphens, Braces, Quotes, Commas, Uppercase
Output formatting options
6

Statistics counters

Bottom right shows three counters:
GENERATED: total UUIDs created
VALID: UUIDs that pass validation
DUPLICATES: any duplicate UUIDs detected

Statistics counters showing Generated, Valid and Duplicates counts
Statistics counters
7

Favorites tab

On the right edge, the heart icon lets you add this tool to your favorites for quick access from the homepage.

Favorites tab with heart icon on the right edge
Favorites tab for quick access

UUID v4 (Random) Most popular

UUID v4 generates cryptographically secure random identifiers. This is the most commonly used version and the default when you open the tool.

1

Select UUID v4

Click the UUID v4 button (shuffle icon) at the top. It shows Random (secure) as the description. This is the default mode when you open the tool.

2

Set the count

In the Count field (marked with # icon), enter how many UUIDs you want to generate. The default is 1, but you can generate multiple UUIDs at once.

3

Generate UUIDs

Click the orange GENERATE button. Your UUIDs appear instantly in the output area.

4

Copy or download

Use the Copy button (clipboard icon) to copy all UUIDs to clipboard, or Download (download icon) to save as a text file.

UUID v4 generation showing random UUIDs with copy and download options
UUID v4 mode - copy or download your generated UUIDs
Best for
Use UUID v4 for database primary keys, session tokens, file names, API keys, and any situation requiring unique identifiers with no predictable pattern.

UUID v7 (Time-ordered) New standard

UUID v7 is a newer version that combines timestamps with random data. UUIDs are naturally sortable by creation time, making them ideal for databases.

1

Select UUID v7

Click the UUID v7 button (clock icon) at the top. It shows Time-ordered as the description.

2

Set the count

Enter the number of UUIDs you want in the Count field.

3

Generate UUIDs

Click GENERATE. Each UUID contains a Unix timestamp in milliseconds, ensuring natural chronological ordering.

4

Copy or download

Use the Copy button (clipboard icon) to copy all UUIDs to clipboard, or Download (download icon) to save as a text file.

UUID v7 generation showing time-ordered UUIDs with copy and download options
UUID v7 mode - copy or download your generated UUIDs
Database advantage
UUID v7 is excellent for database primary keys because records naturally sort by creation time. Unlike v4, inserting new records doesn't cause index fragmentation.

UUID v1 (Timestamp-based) Classic

UUID v1 is the original timestamp-based version. It combines a 60-bit timestamp with a node identifier (in browser implementations, a random node ID is used for privacy).

1

Select UUID v1

Click the UUID v1 button (history/clock icon) at the top. It shows Timestamp-based as the description.

2

Set the count

Enter the number of UUIDs you want in the Count field.

3

Generate UUIDs

Use the GENERATE button - each UUID contains a timestamp encoded in a specific format defined by RFC 4122.

4

Copy or download

Use the Copy button (clipboard icon) to copy all UUIDs to clipboard, or Download (download icon) to save as a text file.

UUID v1 generation showing timestamp-based UUIDs with copy and download options
UUID v1 mode - copy or download your generated UUIDs
Privacy note
Traditional UUID v1 includes the MAC address of the generating machine. Our browser implementation uses random node IDs instead for privacy. Consider UUID v7 for modern applications needing time-based ordering.

UUID v5 (Name-based) Deterministic

UUID v5 generates deterministic UUIDs from a namespace and a name using SHA-1 hashing. The same namespace + name always produces the same UUID.

1

Select UUID v5

Click the UUID v5 button (key icon) at the top. It shows Name-based (SHA-1) as the description.

2

Choose a namespace

Select a namespace from the Namespace dropdown (folder icon). Options include:
DNS: for domain names
URL: for URLs
OID: for ISO OIDs
X500: for X.500 DNs
Custom UUID: use your own namespace UUID

3

Enter the name

In the Name field (tag icon), enter the string you want to convert to a UUID. The placeholder shows Enter name for v5.... For DNS namespace, this would be a domain name like "example.com".

4

Generate UUID

Click GENERATE. The same namespace + name combination will always produce the identical UUID.

5

Copy or download

Use the Copy button (clipboard icon) to copy all UUIDs to clipboard, or Download (download icon) to save as a text file.

UUID v5 generation showing name-based UUIDs with copy and download options
UUID v5 mode - copy or download your generated UUIDs
Reproducibility
UUID v5 is perfect when you need the same identifier for the same input across different systems or time periods.
Example: generating a UUID for "[email protected]" will always return the same UUID.

Namespace options

UUID v5 requires a namespace - a predefined UUID that acts as a "salt" for the hash. RFC 4122 defines standard namespaces, or you can use your own:

1

DNS namespace

Use for fully-qualified domain names.

Namespace UUID: 6ba7b810-9dad-11d1-80b4-00c04fd430c8

Example name: example.com, api.mysite.org

2

URL namespace

Use for URLs including protocol.

Namespace UUID: 6ba7b811-9dad-11d1-80b4-00c04fd430c8

Example name: https://example.com/page

3

OID namespace

Use for ISO Object Identifiers.

Namespace UUID: 6ba7b812-9dad-11d1-80b4-00c04fd430c8

Example name: 1.3.6.1.4.1.343

4

X500 namespace

Use for X.500 Distinguished Names.

Namespace UUID: 6ba7b814-9dad-11d1-80b4-00c04fd430c8

Example name: CN=John Doe,O=Example,C=US

5

Custom UUID namespace

When you select Custom UUID, a third field appears: Custom NS (with antenna/broadcast icon). Enter any valid UUID to use as your own namespace. The placeholder shows UUID namespace.... This is useful for creating organization-specific or application-specific UUID hierarchies.

Which namespace?
If your input is a domain name, use DNS. If it's a full URL, use URL. For custom applications, consider using a UUID v4 as your own namespace to avoid collisions with other systems.

UUID v8 (Custom payload) Advanced

UUID v8 allows you to create UUIDs with custom data encoded in the UUID format. This version is for advanced users who need to embed specific information within a UUID structure.

1

Select UUID v8

Click the UUID v8 button (code/brackets icon) at the top. It shows Custom payload as the description.

2

Configure payload

Enter your custom data according to the UUID v8 specification. The tool formats your input into a valid RFC 4122 compliant UUID.

3

Generate UUID

Click GENERATE to create your custom UUID. The version and variant bits are set automatically to indicate UUID v8.

4

Copy or download

Use the Copy button (clipboard icon) to copy all UUIDs to clipboard, or Download (download icon) to save as a text file.

UUID v8 generation showing custom payload UUIDs with copy and download options
UUID v8 mode - copy or download your generated UUIDs
Advanced use only
UUID v8 is intended for advanced use cases where you need to encode specific data in UUID format. For most applications, UUID v4 (random) or UUID v7 (time-ordered) are better choices.

Output formatting

The formatting options at the bottom control how your UUIDs are displayed and copied. These are useful for different programming contexts.

1

Hyphens

When checked (default), UUIDs include standard hyphens:
550e8400-e29b-41d4-a716-446655440000
When unchecked, hyphens are removed:
550e8400e29b41d4a716446655440000

Hyphens checkbox option
Hyphens - include or remove standard hyphens
2

Braces

When checked, wraps each UUID in curly braces:
{550e8400-e29b-41d4-a716-446655440000}
Useful for: Microsoft GUID format, C# code, Windows registry entries

Braces checkbox option
Braces - wrap UUIDs in curly braces
3

Quotes

When checked, wraps each UUID in double quotes:
"550e8400-e29b-41d4-a716-446655440000"
Useful for: JSON, SQL INSERT statements, string arrays

Quotes checkbox option
Quotes - wrap UUIDs in double quotes
4

Commas

When checked, adds commas between UUIDs (when generating multiple):
uuid1, uuid2, uuid3
Useful for: Array initializers, CSV format, SQL IN clauses

Commas checkbox option
Commas - add commas between multiple UUIDs
5

Uppercase

When checked, converts letters to uppercase:
550E8400-E29B-41D4-A716-446655440000
Useful for: Microsoft GUIDs, some legacy systems, visual distinction

Uppercase checkbox option
Uppercase - convert letters to uppercase
Combining options
Options can be combined. For SQL INSERT: enable Quotes + Commas. For C# array: enable Braces + Quotes + Commas. For JSON array: enable Quotes + Commas.

Statistics counters

Three counters at the bottom right track your generation activity in the current session:

1

GENERATED

Shows the total number of UUIDs generated in the current session. This counter increments each time you click GENERATE, adding the count you specified.

2

VALID

Shows how many generated UUIDs pass RFC 4122 validation. This should always equal GENERATED - if not, there's an issue with the generation.

3

DUPLICATES

Shows any duplicate UUIDs detected (displayed with red background). With proper random generation, this should always be 0. A non-zero value would indicate a serious problem (extremely unlikely with cryptographic random sources).

Statistics counters showing generated, valid, and duplicate counts
Statistics counters
Clearing stats
Statistics reset when you refresh the page. Use the Clear button (trash icon) to clear generated UUIDs - the counters will also reset.

When to use which version

Database primary keys
Use UUID v7 for new projects (sortable, no fragmentation) or UUID v4 for existing systems. v7 is preferred for modern databases as records naturally sort by creation time.
Distributed systems
Use UUID v4 when multiple servers generate IDs independently. The randomness ensures uniqueness without coordination between systems.
Reproducible identifiers
Use UUID v5 when you need the same ID for the same input. Perfect for: user IDs from email addresses, resource IDs from URLs, content-addressable storage.
Security tokens
Use UUID v4 for session tokens, API keys, password reset links, and any security-sensitive identifiers. The cryptographic randomness prevents guessing.
Time-series data
Use UUID v7 for event logs, audit trails, or any data where chronological ordering matters. IDs naturally sort by creation timestamp.
Custom requirements
Use UUID v8 only when you have specific needs to encode custom data in UUID format. For most applications, v4 or v7 are better choices.

Frequently asked questions

UUID (Universally Unique Identifier) and GUID (Globally Unique Identifier) are essentially the same thing. GUID is Microsoft's term for UUID. The format is identical - both are 128-bit identifiers displayed as 32 hexadecimal characters with hyphens.
For practical purposes, yes. The probability of generating two identical UUID v4s is approximately 1 in 2^122, which is astronomically small. You could generate 1 billion UUIDs per second for 100 years and the probability of a collision would still be about 50%.
UUID v4 for most general-purpose needs (random, secure, widely supported). UUID v7 for database primary keys (sortable by time). UUID v5 when you need reproducible IDs from input strings. UUID v1 for legacy systems. UUID v8 for advanced custom data encoding.
For UUID v4, no. It uses cryptographically secure random numbers - there's no pattern to exploit. For UUID v1, timestamps are predictable. For UUID v5, if someone knows your namespace and input, they can regenerate the same UUID.
The 13th character (after the second hyphen) indicates the version. For v4, it's always "4": xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx. For v7, it's "7", and so on. This is part of the RFC 4122 specification.
Both are valid. With hyphens is more readable and is the standard format. Without hyphens saves 4 characters and may be required by some systems. The underlying 128-bit value is the same - use the Hyphens checkbox to toggle.
Yes. We use your browser's crypto.getRandomValues() API, which provides cryptographically secure random numbers. This is the same source used for encryption and security-sensitive operations.
Absolutely. These are RFC 4122 compliant UUIDs generated using cryptographically secure methods. They're suitable for production databases, APIs, and any system requiring unique identifiers.
A namespace is a predefined UUID that acts as a "salt" for the hash function. It ensures that the same name in different contexts produces different UUIDs. RFC 4122 defines standard namespaces for DNS, URLs, OIDs, and X.500 names. You can also use a Custom UUID namespace.
UUID v7 provides time-ordering, meaning UUIDs can be sorted chronologically. This is beneficial for database indexes (reduces fragmentation) and makes it possible to roughly determine when a record was created by examining its ID.

Ready to generate UUIDs?

Create RFC 4122 compliant unique identifiers instantly.

Open UUID Generator

Documentation