UUID Generator

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.

Time-based UUID — Generated using timestamp and machine MAC address. Useful when you need chronological ordering, but exposes node information.
v1
MD5 hash-based UUID — Deterministic output from namespace and name. Useful for creating consistent IDs from domain names or other identifiers. Note: MD5 is cryptographically broken, avoid for security purposes.
v3
Random UUID — Generated using cryptographically secure random numbers. This is the most commonly used version, ideal for general-purpose unique identifiers where predictability is not a concern.
v4
SHA-1 hash-based UUID — Similar to v3 but uses SHA-1 for stronger hashing. Recommended over v3 for new projects requiring namespace-based UUIDs. Not cryptographically secure for security purposes.
v5
Ordered time-based UUID — Similar to v1 but with reordered fields for better database index locality. Preserves timestamp and node information while being more efficient for sorted storage.
v6
Unix time-based UUID — The newest version, using Unix timestamp for the first 48 bits. Recommended for most new applications due to time-ordered output, good database performance, and no exposed node information.
v7

Format Options

Preview:

xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Bulk Generation
Max: 100 per batch
Recent History

No UUIDs generated yet. Your recent UUIDs will appear here.

    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:

    VersionAlgorithmBest Use CaseProsCons
    v1Timestamp + MAC AddressLegacy systems, time-ordered IDsContains creation timestamp, sortableExposes MAC address, privacy concern
    v3MD5 Hash + NamespaceDomain-name derived IDsDeterministic, reproducibleMD5 is cryptographically weak
    v4Pure RandomGeneral purpose identifiersNo sensitive data, high randomnessNot sortable, larger index impact
    v5SHA-1 Hash + NamespaceNamespace-based namingStronger hash than MD5, reproducibleNot cryptographically secure
    v6Ordered TimestampDatabase primary keysTime-ordered, better index localityStill exposes node information
    v7Unix TimestampModern database keys (recommended)Time-ordered, no exposed data, fast generationRelatively 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