Azure Resource ID Parser & Builder

Parse any Azure Resource Manager ID into its individual components instantly. Decode subscription, resource group, provider namespace, resource type, and resource name with color-coded visualization. Build Resource IDs from scratch with our interactive builder. Supports bulk parsing of multiple Resource IDs.

Try examples:
The GUID of your Azure subscription.
The name of the resource group.
The Azure resource provider namespace (e.g., Microsoft.Compute).
The resource type within the provider (e.g., virtualMachines, storageAccounts).
The name of your Azure resource.
/subscriptions/.../providers/...

How It Works

Instant Parsing

Paste any Azure Resource ID and get an instant breakdown of every component -- subscription, resource group, provider, resource type, and name -- with color-coded visualization for easy reading.

📚

Bulk Support

Parse multiple Resource IDs at once by pasting them one per line. Each ID gets its own result card with full component breakdown, making it easy to compare and analyze resources across services.

🔧

Resource ID Builder

Construct valid Azure Resource IDs from individual parts using the interactive builder. Select a provider, enter subscription, resource group, and resource details -- and watch the ID update in real time.

30+ Providers

Comprehensive Azure provider recognition database covering compute, storage, networking, databases, security, analytics, containers, machine learning, and more -- with category badges for each provider.

Understanding Azure Resource IDs

Azure Resource IDs are the universal identifier format used across all Azure Resource Manager (ARM) services to uniquely identify resources. Every resource you create in Azure -- from virtual machines and storage accounts to key vaults and Kubernetes clusters -- is assigned a Resource ID. Understanding the structure and components of Resource IDs is essential for working with ARM templates, Bicep files, Azure CLI commands, PowerShell cmdlets, and Azure REST APIs.

Resource ID Format and Structure

Every Azure Resource ID follows a hierarchical, slash-separated format:

/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/{provider}/{resource-type}/{resource-name}

The subscription ID is the GUID of the Azure subscription that owns the resource. The resource group is the logical container that groups related resources. The provider namespace identifies the Azure service (e.g., Microsoft.Compute, Microsoft.Storage, Microsoft.Network). The resource type specifies the kind of resource within the provider, and the resource name is the unique name you assigned to the resource. Nested resources extend this pattern with additional type/name pairs.

How to Use This Tool

In Parse mode, paste one or more Azure Resource IDs into the text area and click any example button to see how different Azure services structure their Resource IDs. Each parsed ID is displayed with color-coded components and a field grid showing every piece of information. In Build mode, fill in the individual fields and the tool constructs a valid Resource ID in real time that you can copy to your clipboard.

Common Use Cases

Frequently Asked Questions

What is an Azure Resource ID?
An Azure Resource ID is a unique identifier string assigned to every resource managed by Azure Resource Manager (ARM). Resource IDs provide a standardized way to reference resources across all Azure services, and they are used extensively in ARM templates, Bicep files, Azure CLI commands, PowerShell cmdlets, REST API calls, and Azure Policy definitions. Every Resource ID follows a hierarchical, slash-separated format that encodes the subscription, resource group, provider namespace, resource type, and resource name, making it possible to unambiguously identify any resource in any Azure subscription. For example, a virtual machine Resource ID like /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM uniquely identifies that specific VM across the entire Azure ecosystem.
What is the format of an Azure Resource ID?
The general format of an Azure Resource ID is /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceType}/{resourceName}. The ID always begins with a forward slash, followed by "subscriptions" and the subscription GUID (a 32-character hexadecimal identifier in 8-4-4-4-12 format). Next comes "resourceGroups" and the resource group name, then "providers" followed by the provider namespace (like "Microsoft.Compute" or "Microsoft.Storage"), the resource type (such as "virtualMachines" or "storageAccounts"), and finally the resource name. Nested resources extend this pattern by appending additional resource type/name pairs, such as /subscriptions/.../providers/Microsoft.Sql/servers/myServer/databases/myDatabase. Some resources exist at the subscription level without a resource group, using a shorter format like /subscriptions/{id}/providers/{provider}/{type}/{name}.
How do I find the Resource ID for an Azure resource?
There are several ways to find the Resource ID for an Azure resource. In the Azure Portal, navigate to your resource and look at the Properties blade or the JSON View -- the Resource ID is displayed prominently on the overview page of most resources. You can also click the "JSON View" link in the top-right corner of the resource overview to see the full Resource ID. Using the Azure CLI, you can retrieve Resource IDs with commands like az resource show --name myVM --resource-group myRG --resource-type Microsoft.Compute/virtualMachines --query id, or list all resources with az resource list --query "[].id". In Azure PowerShell, use Get-AzResource -Name myVM -ResourceGroupName myRG | Select-Object -Property ResourceId. Terraform and Bicep both expose Resource IDs as outputs after resource creation. Azure Activity Log and diagnostic logs also include Resource IDs for all resources involved in operations.
What are Azure Resource Providers?
Azure Resource Providers are the services that supply Azure resources. Each provider offers a set of resource types and operations for managing specific kinds of infrastructure and services. Provider namespaces follow the format Microsoft.{ServiceName} -- for example, Microsoft.Compute provides virtual machines, disks, and availability sets; Microsoft.Storage provides storage accounts and blob containers; Microsoft.Network provides virtual networks, load balancers, and public IP addresses; and Microsoft.KeyVault provides key vaults and secrets. Before you can use a resource provider, it must be registered in your subscription. Most commonly used providers are registered automatically, but some may require manual registration using az provider register --namespace Microsoft.ContainerService. You can list all registered providers with az provider list --output table. Each provider defines its own set of resource types, API versions, and supported regions.
How do nested resource IDs work?
Nested (or child) resources in Azure have Resource IDs that extend the parent resource's ID by appending additional resource type/name segments. For example, a SQL database is a child resource of a SQL server, so its Resource ID looks like /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Sql/servers/myServer/databases/myDatabase. This hierarchical structure can extend multiple levels deep -- a firewall rule on a SQL server would be .../servers/myServer/firewallRules/myRule. Similarly, a subnet is a child of a virtual network: .../Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet. The nesting pattern always follows the format /{parentType}/{parentName}/{childType}/{childName} and can be extended further for deeply nested resources. When working with nested resources in ARM templates, you can use the resourceId() function with multiple type/name parameters to construct the correct ID.
What is the difference between subscription-level and resource-group-level resources?
Azure resources can exist at different scopes within the Azure hierarchy, and this affects their Resource ID format. Resource-group-level resources are the most common and include the full path with subscription, resource group, provider, and resource: /subscriptions/{id}/resourceGroups/{rg}/providers/{provider}/{type}/{name}. Subscription-level resources exist directly under a subscription without a resource group, using the format /subscriptions/{id}/providers/{provider}/{type}/{name} -- examples include Azure Policy assignments and resource group definitions themselves. Management-group-level resources use /providers/Microsoft.Management/managementGroups/{mgName}/providers/{provider}/{type}/{name}. Tenant-level resources exist at the top of the hierarchy and their IDs begin directly with /providers/{provider}/{type}/{name}. Understanding these scoping levels is crucial for setting up RBAC role assignments and Azure Policy at the appropriate level.
How are Resource IDs used in Azure CLI and PowerShell?
Resource IDs are extensively used in both Azure CLI and Azure PowerShell as a concise way to reference resources without specifying multiple individual parameters. In the Azure CLI, many commands accept a --ids parameter that takes one or more Resource IDs: for example, az vm show --ids /subscriptions/.../virtualMachines/myVM retrieves the VM details without needing separate --name, --resource-group, and --subscription flags. You can also pipe Resource IDs from one command to another: az resource list --query "[?type=='Microsoft.Compute/virtualMachines'].id" -o tsv | xargs -I{} az vm show --ids {}. In Azure PowerShell, use Get-AzResource -ResourceId "/subscriptions/.../myVM" or pipe resources: Get-AzVM | Select-Object -ExpandProperty Id. Resource IDs are also essential for the az resource delete --ids command, allowing you to delete resources by their ID without specifying the resource type.
Can I use Resource IDs in ARM templates and Bicep?
Yes, Resource IDs are fundamental to ARM templates and Bicep files. In ARM templates (JSON), you construct Resource IDs using the resourceId() template function: [resourceId('Microsoft.Compute/virtualMachines', 'myVM')] generates the full Resource ID for a VM in the same resource group. For cross-resource-group references, use the extended form: [resourceId('otherRG', 'Microsoft.Storage/storageAccounts', 'myStorage')]. For cross-subscription references, add the subscription ID as the first parameter. In Bicep, you reference existing resources with the existing keyword and access their ID via the .id property: resource vm 'Microsoft.Compute/virtualMachines@2023-07-01' existing = { name: 'myVM' } followed by vm.id. Bicep also supports the resourceId() function for constructing IDs manually. Resource IDs are commonly used in template outputs, resource dependencies, and property values that reference other resources (such as linking a NIC to a subnet or a VM to a disk).

Explore More Developer Tools

Check out our other free developer tools. Parse AWS ARNs, build Kubernetes manifests, and more -- all from your browser with no sign-up required.

AWS ARN Parser →