🔑

GUID / UUID Generator

Generate v4 UUIDs instantly for SPFx manifests, Azure AD registrations, Teams apps, and Power Platform solutions. 100% client-side — nothing leaves your browser.

What is a GUID / UUID?

A GUID (Globally Unique Identifier) or UUID (Universally Unique Identifier) is a 128-bit value used to identify something without a central authority handing out numbers. It is written as 32 hexadecimal digits in five hyphen-separated groups — 8-4-4-4-12 — and the two terms mean the same thing. Microsoft documentation says GUID, RFC 4122 says UUID, and Microsoft 365 tooling accepts either name for the same value.

Not all of those 128 bits are random. Four bits encode the version and two encode thevariant, which is why a version 4 UUID always has a 4 at the start of the third group and one of 8, 9, a, or bat the start of the fourth. That leaves 122 random bits. The practical consequence is that you can generate GUIDs on a laptop, in a build pipeline, and in a colleague's PowerShell session simultaneously and never coordinate — collision is not a risk worth engineering against.

Which UUID version should you use?

This tool emits version 4 (random), which is what every Microsoft 365 manifest and registration expects. The alternatives matter in other contexts:

  • Version 1is timestamp plus MAC address. It leaks the generating machine's network identity and the moment of creation, which is why it is a poor choice for anything that ships publicly.
  • Version 4 is pure randomness. No information leaks, no ordering. This is the default for identity and manifest scenarios.
  • Version 7 is time-ordered. It sorts chronologically, which gives far better index locality if you are using GUIDs as clustered primary keys in SQL. It is the right answer for database design and the wrong answer for an SPFx component ID.

The GUIDs here come from the browser's crypto.randomUUID(), which draws on the same cryptographically secure random source used for key material. Browsers too old to expose it fall back to aMath.random() implementation — fine for a manifest ID, but not for anything security-sensitive.

Where Microsoft 365 actually requires a GUID

  • SPFx components — the id in eachsrc/webparts/<name>/<Name>WebPart.manifest.json, plus the id andsolution.id in config/package-solution.json. The Yeoman generator creates these for you; you only generate one by hand when adding a component manually or resolving a collision.
  • Entra ID (Azure AD) app registrations — the application (client) ID and theid of every entry under oauth2PermissionScopes and appRoles in the app manifest. Scope and role IDs must be unique within the application.
  • Teams app manifests — the top-level id in manifest.json, which is distinct from the Entra app ID used under webApplicationInfo.
  • Power Platform solutions — solution and component IDs inside exported solution XML.
  • SharePoint features and fields — Feature IDs and the IDattribute of a Field element in provisioning XML.

The content type ID exception

A SharePoint content type ID is not a plain GUID, and pasting one here will not work. It is a hierarchical hex string that encodes inheritance: a parent ID, then 00, then a GUID with the hyphens stripped. A content type deriving from Item (0x01) looks like0x0100 followed by 32 hex characters. So you do generate a GUID, then remove the hyphens and append it to the parent ID — the GUID is an ingredient, not the value itself.

Formats, and which system wants which

The same 128 bits get written several ways. Entra ID, SPFx manifests, and Teams manifests want the plainlowercase hyphenated form with no braces. Braces ({xxxxxxxx-…}) are the .NET "B" format and appear in legacy SharePoint XML and registry keys. The unhyphenated 32-character form shows up in content type IDs and some URL parameters. Uppercase is accepted almost everywhere but is not conventional in JSON manifests. Copying a braced GUID intopackage-solution.json is a common cause of a build that fails schema validation for no obvious reason.

Mistakes worth avoiding

The costly one is changing the id of an SPFx component that is already deployed. The App Catalog treats the ID as the component's identity, so a new ID reads as a brand-new component: existing pages keep referencing the old ID and silently render nothing, and the upgrade path is gone. If you rename a web part, keep the GUID.

The other is copying a solution folder to start a new project and leaving the GUIDs in place. Two solutions claiming the same solution.id cannot coexist in one tenant App Catalog, and the failure surfaces at deployment as a conflict rather than anywhere near the copy that caused it. Regenerate every ID in package-solution.json and each component manifest before the first build.

If you prefer the command line, [guid]::NewGuid() in PowerShell anduuidgen on macOS and Linux produce the same version 4 values. This tool exists for the case where you want several at once, in a specific format, without leaving the browser.

Frequently Asked Questions

A GUID (Globally Unique Identifier) and UUID (Universally Unique Identifier) are functionally identical — both are 128-bit identifiers formatted as 32 hexadecimal characters. Microsoft uses the term "GUID" while the broader industry standard (RFC 4122) uses "UUID". In M365 development, they are interchangeable.

Every SharePoint Framework (SPFx) web part, extension, and library requires a unique component ID in its manifest.json. This ID is used by the App Catalog to register your solution and prevent conflicts with other components deployed to the same tenant.

Yes. This tool generates standard Version 4 UUIDs using the browser's crypto.getRandomValues() API, which provides cryptographically secure random numbers. They are perfectly suited for Azure AD app registrations and SPFx manifests.

GUIDs are required for: SPFx component IDs (manifest.json), Azure AD app registrations (client IDs), Teams app manifests, Power Platform solution IDs, SharePoint Content Type IDs, and Feature IDs in SharePoint provisioning.

No. Each GUID must be globally unique. Reusing a GUID from one SPFx web part in another will cause conflicts in the App Catalog. Always generate a fresh GUID for each new component, app registration, or solution.

You can run [guid]::NewGuid() in PowerShell to generate a GUID. However, this tool is faster for bulk generation and lets you copy multiple formats (with/without hyphens, uppercase, braces) in one click.

Azure AD accepts GUIDs in the standard lowercase hyphenated format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx. Do not include curly braces. The "4" indicates Version 4 (random), and "y" is one of 8, 9, a, or b.

We use cookies for analytics and personalised advertising. By accepting, you allow these uses. See our Privacy Policy and Cookie Policy.