Professional UUID & GUID Generator

Create valid, unique identifiers instantly with our free online tool. Support for UUID versions 1, 3, 4, 5 and standard GUID generation.

Advertisement

Responsive Ad Space - 728x90

UUID/GUID Generator

Generation History

Your generation history will appear here

UUID Structure & Formula

The standard UUID format is represented as 32 hexadecimal digits displayed in 5 groups separated by hyphens, in the form 8-4-4-4-12 characters for a total of 36 characters (32 alphanumeric characters and 4 hyphens).

123e4567-e89b-12d3-a456-426614174000

UUID Version Identification

The version number is in the 13th character (the first character of the third group):

  • Version 1: Time-based - Uses MAC address and timestamp
  • Version 3: Name-based (MD5) - Hashes namespace and name with MD5
  • Version 4: Random - Uses random or pseudo-random numbers (most common)
  • Version 5: Name-based (SHA-1) - Hashes namespace and name with SHA-1

Technical Specifications

A UUID is a 128-bit number used to uniquely identify information in computer systems. When generated according to the standard methods, UUIDs are practically unique.

The number of possible UUIDs is 16³² (340 undecillion, 282 decillion, 366 nonillion, 920 octillion, 938 septillion, 463 sextillion, 463 quintillion, 374 quadrillion, 607 trillion, 431 billion, 768 million, 211 thousand and 456), meaning the probability of duplicate UUIDs is extremely close to zero.

UUID & GUID: Complete Encyclopedia

Introduction to UUID

A Universally Unique Identifier (UUID) is a 128-bit number used to identify information in computer systems. The term GUID (Globally Unique Identifier) is also used, typically in Microsoft software environments. UUIDs are standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE).

The primary purpose of UUIDs is to allow distributed systems to uniquely identify information without significant central administration. This means that anyone can create a UUID and use it to identify something with reasonable confidence that the same identifier will never be accidentally created by anyone else for anything else. Information identified with UUIDs can therefore be combined and compared without conflict.

History and Standardization

UUIDs were first created in the 1980s as part of Apollo Network Computing System (NCS) and later adopted by the Open Software Foundation (OSF) for their Distributed Computing Environment (DCE). The specification was subsequently formalized as ISO/IEC 9834-8:2014 and ITU-T Rec. X.667.

The original UUID specification (version 1) was designed to be generated by combining a network card's MAC address with a timestamp. Later versions added different generation methods for various use cases. Today, UUIDs are used in virtually all computing systems, from databases and programming languages to filesystems and network protocols.

UUID Versions Explained

Version 1 (Time-based UUID)

Version 1 UUIDs are generated from a combination of the current timestamp and the MAC address of the computer on which it is generated. The timestamp is a 60-bit value representing the number of 100-nanosecond intervals since 00:00:00.00, 15 October 1582. The MAC address provides 48 bits of node identification.

While this version guarantees uniqueness within reasonable constraints, it has privacy implications because it reveals the computer's MAC address and the time of creation. For this reason, it's less commonly used in modern applications where privacy is a concern.

Version 3 (Name-based, MD5)

Version 3 UUIDs are created by hashing a namespace identifier and a name using the MD5 algorithm. The namespace is itself a UUID, and the name is any string. This produces the same UUID every time for the same namespace and name combination.

MD5 is considered cryptographically broken today, which is why version 3 has been largely superseded by version 5, which uses the more secure SHA-1 hashing algorithm.

Version 4 (Random UUID)

Version 4 UUIDs are the most commonly used type today. They are created using random or pseudo-random numbers. All bits except 6 (for the version and variant fields) are randomly generated.

This version offers simplicity, privacy, and sufficient uniqueness for almost all applications. There are 2¹²² possible version 4 UUIDs, which is so large that the probability of the same number being generated twice is negligible for most practical purposes.

Version 5 (Name-based, SHA-1)

Version 5 UUIDs are similar to version 3, but use the SHA-1 hashing algorithm instead of MD5. Like version 3, they generate the same UUID for identical namespace and name combinations.

SHA-1 is significantly more secure than MD5, making version 5 the recommended choice for name-based UUID generation. Common use cases include generating identifiers for resources in a consistent, repeatable way.

GUID vs UUID: What's the Difference?

GUID (Globally Unique Identifier) is essentially the Microsoft implementation of the UUID standard. Technically, GUIDs are a subset of UUIDs. The terms are often used interchangeably, though there are minor differences:

For most practical purposes, you can consider UUID and GUID as equivalent. Our tool generates standard UUIDs that are compatible with all systems expecting GUIDs.

Technical Properties

UUIDs are 128-bit values, typically represented as 32 hexadecimal digits grouped in a specific format:

This structure totals 36 characters when including the four hyphen separators. The hexadecimal digits represent values from 0-9 and a-f (case-insensitive).

Uniqueness and Probability

The probability of duplicate UUIDs is extremely low, especially for version 4. To put this in perspective:

If you generated 1 billion version 4 UUIDs every second for 100 years, you would have a 0.00000006% chance of a single duplicate. This is approximately equal to winning the lottery jackpot multiple times in a row. For all practical applications, properly generated UUIDs can be considered unique.

The uniqueness of UUIDs depends on the generation method: version 1 uses MAC addresses and timestamps, while version 4 uses random numbers. Both approaches provide sufficient uniqueness for virtually all applications.

Common Applications

UUIDs have become fundamental to modern computing and are used in countless applications:

Database Primary Keys

UUIDs are frequently used as database record identifiers, especially in distributed systems. Unlike auto-incrementing integers, UUIDs can be generated anywhere without coordination between database instances, making them ideal for microservices architectures and offline-first applications.

File Identification

Many operating systems and applications use UUIDs to uniquely identify files, volumes, and storage devices. This prevents conflicts when drives are mounted or files are moved between systems.

Software Development

Developers use UUIDs for session IDs, object identifiers, API keys, and resource identification across applications and services. They provide a standard way to reference entities without naming conflicts.

Distributed Systems

In distributed computing, UUIDs allow different nodes to create identifiers independently without coordination. This eliminates the need for a central authority to issue unique IDs, significantly improving system scalability.

Microsoft Technologies

GUIDs (Microsoft's UUID implementation) are extensively used in Windows systems, COM objects, .NET applications, registry entries, and various Microsoft development technologies.

Advantages of Using UUIDs

UUIDs offer numerous benefits over other identification methods:

Disadvantages and Considerations

While UUIDs are extremely useful, they have some drawbacks to consider:

Despite these considerations, the benefits of UUIDs typically outweigh the disadvantages in distributed systems.

Implementation Best Practices

When working with UUIDs, follow these best practices:

Future of UUIDs

As computing continues to evolve toward more distributed architectures, the importance of UUIDs will only increase. New versions and variations continue to be developed to address emerging needs.

The IETF continues to maintain and update the UUID standards. Newer proposals include UUID version 6, 7, and 8 which offer improved database performance, better sorting capabilities, and enhanced security features while maintaining backward compatibility.

Despite these advancements, the core concept of UUIDs remains unchanged: providing a simple, decentralized way to create unique identifiers that work across all computer systems without conflict.

Frequently Asked Questions

What is the difference between UUID and GUID?

GUID (Globally Unique Identifier) is Microsoft's implementation of the UUID standard. Technically, all GUIDs are UUIDs, but not all UUIDs are GUIDs. In practical use, they are identical and interchangeable in almost all systems. The main difference is historical and in some formatting details.

Which UUID version should I use?

For most applications, UUID version 4 is recommended as it uses random numbers and provides the best combination of simplicity, privacy, and uniqueness. Use version 5 if you need to generate consistent UUIDs from names, and avoid version 1 unless you specifically need time and MAC address-based identification.

Are UUIDs really unique?

Yes, properly generated UUIDs are practically unique. There are 340 undecillion possible version 4 UUIDs. The chance of generating a duplicate is so small that it can be ignored for virtually all applications. You would need to generate billions of UUIDs every second for thousands of years to have a remote chance of creating a duplicate.

How long is a UUID?

Standard UUIDs are 128-bit values, represented as 36-character strings (32 hexadecimal characters separated by 4 hyphens). When stored in binary format, they occupy exactly 16 bytes of space.

Can I determine when a UUID was created?

Only for version 1 UUIDs, which contain a timestamp. Version 4 UUIDs (the most common type) are random and contain no time information. Our tool doesn't expose this information for privacy reasons even when generating version 1 UUIDs.

Are UUIDs case-sensitive?

No, UUIDs are case-insensitive. The hexadecimal characters a-f can be uppercase or lowercase without changing the identifier's value. Our tool generates lowercase UUIDs by convention, but they will work equally well if converted to uppercase.

What are the hyphens in UUIDs for?

Hyphens separate the UUID into logical components defined by the specification (8-4-4-4-12 format). While the hyphens are part of the standard string representation, many systems accept UUIDs without hyphens as they represent the same 128-bit value.

Is it safe to use UUIDs for security purposes?

UUIDs were designed for identification, not security. Standard version 4 UUIDs shouldn't be used as security tokens, API keys, or passwords because they may not be generated with cryptographically secure randomness. For security applications, use specialized cryptographic random generators instead.

Can I convert a UUID to other formats?

Yes, UUIDs can be represented in various formats. The string format with hyphens is most human-readable, but they're often stored as 16-byte binary values for efficiency. They can also be converted to base64, integers, or other encodings for specialized applications.

Do I need permission to use UUIDs?

No, UUIDs are an open standard and free for anyone to use without permission, registration, or coordination. The specification is non-proprietary and has been adopted worldwide across all computing platforms.