GUID Generator
Generate a new GUID online instantly — random, RFC-compliant, created entirely in your browser. Bulk generate GUIDs, toggle braces, uppercase, and export as JSON or CSV.
The Basics
What is a GUID?
A GUID (Globally Unique Identifier) is Microsoft’s term for a UUID (Universally Unique Identifier) — a 128-bit identifier generated without any central authority so that no two systems ever produce the same ID. The underlying standard is identical: both follow the format defined in RFC 4122 and RFC 9562, producing a 32-character hexadecimal string in the 8-4-4-4-12 pattern.
You see the term GUID in .NET, COM, SQL Server, Windows APIs, and the Microsoft ecosystem. You see UUID everywhere else — Linux, macOS, Java, Python, web standards, and cloud platforms. Functionally they are the same thing. A GUID is a UUID.
GUID vs UUID — the only real difference
In binary storage, some Microsoft COM/DCOM implementations store the first three fields of a GUID in little-endian byte order, whereas the RFC defines them as big-endian. In the canonical hyphenated string representation — which is what this generator outputs — there is no difference at all. A GUID and a UUID are the same 36-character string.
A GUID looks like this:
The braces ({ }) are optional and commonly used in C# and .NET contexts. Toggle them on above using the {Braces} option.
Comparison
GUID vs UUID — Side-by-Side
The terms are used in different ecosystems but refer to the same standard. Here is what actually differs and what does not:
| Property | GUID (.NET / Microsoft) | UUID (RFC 4122 / 9562) |
|---|---|---|
| Bit length | 128 bits | 128 bits |
| String format | 8-4-4-4-12 hex, 36 chars | 8-4-4-4-12 hex, 36 chars |
| Braces notation | Common in C# / .NET ({…}) | Not used (RFC omits braces) |
| Binary byte order | First 3 fields little-endian in COM/DCOM | All fields big-endian per RFC |
| String representation | Identical — no difference in string form | |
| Default algorithm in .NET | Guid.NewGuid() — version 4 (random) | UUID v4 by default in most libraries |
| Collision probability | ~5.3 × 10³⁶ possible values | ~5.3 × 10³⁶ possible values |
| Governing standard | Microsoft / ECMA-334 | IETF RFC 4122, RFC 9562 |
Bottom line: generate a GUID or a UUID — same output
When you generate a new GUID online using this tool, you get a standard RFC-compliant v4 UUID. Use it in any .NET, SQL Server, or Windows context without conversion. The braces toggle above adds the {…} wrapper that C# and COM interfaces commonly expect.
Generate GUID in Code
How to Create a GUID in Every Major Language
Need to generate GUIDs programmatically rather than online? Every major platform has a built-in method. Here are the one-liners:
C# / .NET — Guid.NewGuid()
Format specifiers in C#
“D” — default with hyphens. “B” — braces with hyphens. “N” — 32 hex digits, no hyphens. “P” — parentheses with hyphens. “X” — four curly-brace fields in hex.
Python
SQL Server — NEWID()
JavaScript / TypeScript
PowerShell
Java
PHP
Use Cases
Where GUIDs Are Used
GUIDs appear throughout the Microsoft ecosystem and anywhere that needs a globally unique identifier without a central sequence. Common applications:
| Context | Why GUIDs | Example |
|---|---|---|
| SQL Server primary keys | Distributed inserts across servers or clients without a central sequence; works with replication | UNIQUEIDENTIFIER column type, NEWID() |
| C# / .NET class identifiers | COM component identity; assembly and type identity; plugin systems | [Guid(“3F2504E0-…”)] attribute |
| Azure / Microsoft Cloud resource IDs | Subscriptions, resource groups, storage accounts, and service principals all use GUIDs as identifiers | Azure subscription ID format |
| Windows Registry keys | COM class IDs (CLSID), interface IDs (IID), and type library IDs stored in the registry | HKEY_CLASSES_ROOTCLSID{GUID} |
| MSI / Windows Installer packages | ProductCode and UpgradeCode are GUIDs; required for Windows Installer to track installations and upgrades | ProductCode = {3F2504E0-…} |
| Active Directory / Entra ID | Object GUIDs identify users, groups, and computers across domain controllers and tenants | User objectGUID in LDAP/AD |
| Visual Studio project files | Project type GUIDs and project GUIDs in .sln and .csproj files | ProjectTypeGuids in .csproj |
| SharePoint / Microsoft 365 | Site collection IDs, list IDs, content type IDs | SharePoint web GUID |
Format Reference
GUID Format Options
A GUID can be represented in several ways depending on the context. The generator above supports all common formats via the toggles:
| Format | Example | Use When |
|---|---|---|
| Standard (default) | 3f2504e0-4f89-41d3-9a0c-0305e82c3301 | Everywhere — the RFC canonical form |
| Uppercase | 3F2504E0-4F89-41D3-9A0C-0305E82C3301 | COM/DCOM attributes, registry entries, Windows headers |
| With braces | {3f2504e0-4f89-41d3-9a0c-0305e82c3301} | C# Guid.Parse() input, COM IDL files, MSI packages |
| No hyphens | 3f2504e04f8941d39a0c0305e82c3301 | Database storage as CHAR(32), URLs, compact tokens |
| Uppercase + braces | {3F2504E0-4F89-41D3-9A0C-0305E82C3301} | C# ToString(“B”), Windows Registry, type library definitions |
Storing GUIDs in SQL Server — NEWID() vs NEWSEQUENTIALID()
NEWID() generates a fully random GUID (equivalent to UUID v4) which causes index fragmentation on clustered primary keys because values insert out of order into the B-tree. Use NEWSEQUENTIALID() for clustered index columns — it generates monotonically increasing GUIDs that prevent fragmentation, similar to how UUID v7 works in PostgreSQL. For non-clustered indexes, NEWID() is fine.
Related Tools
More UUID & GUID Tools
Looking for a specific version or format? These tools are each built for a distinct use case:
FAQ
Frequently Asked Questions
Need a UUID Instead of a GUID?
A UUID and a GUID are the same standard. Our UUID generator covers all 8 versions — v4, v7, v1, v5, v6, v8, Nil, and Max — with validation, bulk export, and code examples.
Open UUID Generator