Comparison 5 min read

UUID vs GUID: Is There Any Difference?

UUID and GUID are two names for the same 128-bit identifier. Here is where the names come from, how the formats differ in braces and case, and which one to use.

uuid vs guiddifference between uuid and guidguid formatguid generator onlineis guid same as uuid

The short answer

A UUID (Universally Unique Identifier) and a GUID (Globally Unique Identifier) are the same thing: a 128-bit identifier usually written as 32 hexadecimal digits in five groups, like 3f1c9a2e-7b4d-4e8a-9c61-2d5f0b7e8a13. RFC 9562, the current standard, says plainly that UUIDs are "also known as GUIDs". The only practical differences are presentation habits, such as braces and uppercase letters in Microsoft tools. You can create either with the UUID Generator.

Where the two names come from

The identifier was standardised as a "UUID" by the IETF. RFC 4122 described it for many years; in May 2024 it was replaced by RFC 9562, which keeps the original versions and adds newer ones such as version 7.

"GUID" is the name Microsoft has long used in Windows, COM, .NET and SQL Server. The underlying 128-bit value is the same, which is why you can generate a UUID in one system and store it in a GUID field in another.

How the formats differ

The value is the same. What changes is how different tools print it. Microsoft's documentation for the .NET Guid.ToString method lists these formats, shown here with one example value:

FormatExampleWhere you see it
Standard (hyphens)3f1c9a2e-7b4d-4e8a-9c61-2d5f0b7e8a13Most APIs, databases, .NET default
No hyphens3f1c9a2e7b4d4e8a9c612d5f0b7e8a13Compact storage, some URLs
Braces{3f1c9a2e-7b4d-4e8a-9c61-2d5f0b7e8a13}Windows registry, Visual Studio project files
Parentheses(3f1c9a2e-7b4d-4e8a-9c61-2d5f0b7e8a13)Rare, older tooling
Uppercase3F1C9A2E-7B4D-4E8A-9C61-2D5F0B7E8A13Windows dialogs, some SQL tools

According to Microsoft, Guid.ToString returns lowercase hex digits and uses the hyphenated format by default. RFC 9562 allows uppercase, lowercase or mixed case, so all the rows above represent the same identifier.

Reading a UUID: version and variant

Two positions tell you what kind of UUID you have:

  • The first digit of the third group is the version. In 3f1c9a2e-7b4d-4e8a-..., it is 4, so this is a version 4 (random) UUID. A 7 there means version 7.
  • The first digit of the fourth group shows the variant. For standard UUIDs it is 8, 9, a or b.

A version 4 UUID has 122 random bits; the other 6 bits are fixed for the version and variant. That is a huge number of possible values, which is why randomly generated UUIDs can be created on different machines without coordination.

Using the Lazyblink UUID Generator

The tool generates version 4 UUIDs in your browser using crypto.getRandomValues, the browser's cryptographically strong random source.

  • Open the UUID Generator.
  • Set Quantity from 1 to 1000.
  • Choose a Format: Standard (v4), UPPERCASE, or No hyphens.
  • Click Generate.
  • Copy a single value by hovering over it, use Copy all to copy the whole list (one per line), or Download .txt.
  • Getting a GUID with braces

    The generator does not add braces. For a registry key or a project file that needs {...}, generate in Standard or UPPERCASE format and type the braces around the value yourself. For bulk lists, paste them into a spreadsheet and use a formula such as ="{"&A1&"}", or use Find and Replace with a regex to wrap each line.

    Which should you use?

    There is no technical choice to make between "UUID" and "GUID". The decisions that matter are these:

    • Which version? Version 4 is fully random and the most widely supported. Version 7 starts with a timestamp, so new values sort roughly in creation order, which can help database indexes. Our guide to UUID v4 and v7 explains the trade-off.
    • Which text format? Use the standard lowercase, hyphenated form unless a system asks for something else. It is what RFC 9562 shows and what most libraries print.
    • How to store it? Many databases have a native type (uuid in PostgreSQL, uniqueidentifier in SQL Server). A native type stores 16 bytes instead of a 36-character string and validates the format for you.

    Quick reference: UUID and GUID in common tools

    WhereName usedDefault text form
    RFC 9562 and most librariesUUIDLowercase with hyphens
    .NET (Guid.NewGuid, Guid.ToString)GUIDLowercase with hyphens
    Windows registry and COMGUID (often CLSID or IID)Uppercase in braces
    PostgreSQLuuid typeLowercase with hyphens
    SQL Serveruniqueidentifier typeUppercase with hyphens

    If you are moving IDs between these systems, convert them to one canonical form, such as lowercase with hyphens and no braces, at the boundary.

    Common mistakes

    Comparing as case-sensitive strings

    3F1C... and 3f1c... are the same identifier. If your code compares them as plain strings, it will say they differ. Normalise to lowercase before comparing, or compare as a UUID type.

    Storing braces in the database

    If one system writes {...} and another writes the bare form, lookups fail. Strip braces on input and store one canonical form.

    Treating UUIDs as secrets

    A UUID is an identifier, not a password. Version 4 values are hard to guess, but they appear in URLs, logs and browser history. Do not use them as the only protection on a private link or an API.

    SQL Server sort order

    SQL Server sorts uniqueidentifier values using its own byte order, which does not match string order. If you need sortable IDs, use version 7 UUIDs or a separate creation-time column rather than relying on string sorting.

    Summary

    • UUID and GUID are two names for the same 128-bit identifier.
    • RFC 9562 (2024) is the current standard and replaced RFC 4122.
    • Formatting differs: hyphens, no hyphens, braces, upper or lower case.
    • Version 4 has 122 random bits; the version digit is the first character of the third group.
    • Generate lowercase hyphenated values unless a system asks otherwise, and compare case-insensitively.

    Frequently asked questions

    Is a GUID the same as a UUID?

    Yes, in practice. RFC 9562, the current UUID standard, says UUIDs are also known as GUIDs. GUID is the name Microsoft uses, and a GUID created by modern Windows or .NET tools follows the same 128-bit layout.

    Can I use a UUID where a GUID is required?

    Usually yes. A standard 36-character UUID such as 3f1c9a2e-7b4d-4e8a-9c61-2d5f0b7e8a13 is accepted by .NET Guid.Parse, SQL Server uniqueidentifier columns and most other GUID fields. Some old configuration files expect braces around it, so add them if the field requires.

    Should a GUID be uppercase or lowercase?

    Either. RFC 9562 allows uppercase, lowercase or mixed case hex digits. .NET returns lowercase from Guid.ToString, while some Windows tools and registry entries show uppercase inside braces. Compare GUIDs case-insensitively.

    How many random bits does a version 4 UUID have?

    122. A version 4 UUID has 128 bits, of which 4 bits mark the version and 2 bits mark the variant. The remaining 122 bits are random.

    Try this tool on Lazyblink

    Put this guide into practice with our free online tool — no signup required.

    Open tool