UUID Generator – Create Universally Unique Identifiers as per RFC 4122 in a flash. Supports all major UUID Versions (v1, v3, v4, v5, v6, v7) with a single click. No sign up, no tracking, no limits – your UUIDs are created in your browser only to ensure maximum privacy.
Format Options
Preview:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Bulk Generation
Recent History
No UUIDs generated yet. Your recent UUIDs will appear here.
Table of Contents
What is a UUID?
A universally unique identifier (UUID) is a 128-bit identifier defined by RFC 4122 for application in information systems. Imagine it as a very large random string that is used to identify something, just like a finger print for digital objects.
The UUIDs are intended to be statistically unique in space and time. The chances of two computers being geographically separated but sending out the same UUID is extremely low, even if they are opposite sides of the globe. That makes them ideal for distributed systems, where central control is impractical.
The structure you see 550e8400-e29b-41d4-a716-446655440000 is divided into five sections: time_low, time_mid, time_hi_and_version, clock_seq, and node. The groups all add to the overall uniqueness while remaining human-readable.
UUID Versions Comparison
Here’s how each UUID version differs in implementation and best-use scenarios:
| Version | Algorithm | Best Use Case | Pros | Cons |
|---|---|---|---|---|
| v1 | Timestamp + MAC Address | Legacy systems, time-ordered IDs | Contains creation timestamp, sortable | Exposes MAC address, privacy concern |
| v3 | MD5 Hash + Namespace | Domain-name derived IDs | Deterministic, reproducible | MD5 is cryptographically weak |
| v4 | Pure Random | General purpose identifiers | No sensitive data, high randomness | Not sortable, larger index impact |
| v5 | SHA-1 Hash + Namespace | Namespace-based naming | Stronger hash than MD5, reproducible | Not cryptographically secure |
| v6 | Ordered Timestamp | Database primary keys | Time-ordered, better index locality | Still exposes node information |
| v7 | Unix Timestamp | Modern database keys (recommended) | Time-ordered, no exposed data, fast generation | Relatively new, less tool support |
When to Use Each UUID Version
For Most General Cases use UUID v4.
If you don’t know which one to use, use v4. It is the most widely supported, generates true random identifiers, and eliminates any potential privacy and security concerns. Used for session IDs, correlation tokens or any identifier which is not time-sortable.
Make sure that the Database Primary Key is a UUID v7.
For those that require unique identifiers for database records and require good index performance, use UUID v7. It is a combination of time-ordered generation and the advantages of UUIDs (distributed generation, no sequence conflicts). Major databases are enabling native support of v7.
Generate UUID v5 Namespace Based Names
v5 returns deterministic results when you need to generate consistent identifiers from domain names, URLs, or any source from a namespace. UUIDs generated by the same namespace + name will be the same each time, which is good for cache or content-addressable systems.
Consider v6 for Migration Scenarios
For those who are moving from v1-based systems or must remain backwards compatible with the existing time-ordered UUID implementations, v6 offers a modern alternative without compromising on ordering properties desired by your system.
FAQs
What is UUID and how does it work?
A UUID (Universally Unique Identifier) is a 128-bit integer which is represented by a 36 character string, uniquely identifying information. The format is 8-4-4-4-12 bits, with each section holding different bits. How these bits are generated differs depending on the version, either by timestamp and network address, or by using a cryptographic random number generator.
Can UUIDs be duplicated?
UUIDs have an astronomically low probability of collision. The probability of generating a duplicate is about 1 in 5.3 × 10³⁶ for v4 UUIDs generated using cryptographically secure random numbers. For comparison, if you were creating 1 billion UUIDs every second, you would only have a chance of collision after running for approximately 100 billion years. In reality, UUIDs have been used in any application as unique.
Which version of UUID is the best choice for a database primary key?
UUID v7 is recommended for most modern applications. It offers time-ordered values (useful for database indexes), generates fast without external dependencies, and doesn’t reveal sensitive information such as MAC addresses. If you’re using PostgreSQL, it has native support for uuid-ossp extension including v7. For legacy systems or certain compatibility requirements, ordering can be matched to v1, but is enhanced with improved field layout in v6.
Are UUID v4 suitable for security-related applications?
Modern browsers and libraries such as Bouncy-cast e.g. use UUID v4 to generate cryptographically random numbers. Although it is possible in theory if the attacker knows exactly how the random number generator works, it is not possible in practice because the 122 bits of randomness make it completely impractical to guess the result. But don’t use UUIDs as cryptographic tokens, session IDs for high-security applications or anything that really needs randomness (use Web Crypto API).
What’s the difference between UUID and GUID?
Technically, nothing. Microsoft’s implementation of the UUID standard is called GUID. UUID is internationally recognized as per RFC 4122, and GUID is commonly used in a Microsoft environment. Both are 128-bit identifiers of the same structure and function. The “GUID” versus “UUID” seems to be a matter of terminology.
Why some UUIDs have hyphens and some don’t?
The hyphens in a UUID are only there to make it easier to read by humans, to make logical sense, and to separate the 128 bits into chunks as time_low (8 hex), time_mid (4 hex), time_hi_and_version (4 hex), clock_seq (4 hex), and node (12 hex). Both formats are valid and equal. Always use the hyphenated format for displays to humans – the compact format for URLs, files, or database storage where space is important.
How can I check if a string is a UUID?
A valid UUID consists of 8 hex digits followed by a hyphen, 4 hex digits, a hyphen, 4 hex digits, a hyphen, 4 hex digits, a hyphen, 12 hex digits (total of 36 characters including hyphens). The regex pattern is: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$</. Also, the version digit (13th character) must be 1, 3, 4, 5, 6 or 7 and the variant digit (17th character) must be 8, 9, a, or b.
Will my data be safe with this UUID generator?
Absolutely. This uuid generator is a 100% browser based, JavaScript implementation. No UUIDs are ever sent to a server or stored anywhere other than in your local browser. Your generated UUIDs are only stored in your browser’s memory, and optionally in local storage for history purposes. This can be done offline (on the first page loading, generation takes place without the presence of the internet).
Related Tools You May Like
Calculators | Converters | Games | Generators | Random | Web Tools | Developer Tools