Bicep Diagram Generator — Visualize Azure Bicep & ARM Templates Instantly
InfraSketch supports Azure Bicep and ARM JSON templates. Paste your .bicep file or ARM azuredeploy.json into the Bicep / ARM tab and get a full architecture diagram in seconds — VNet containment, subnet placement, resource connections, and official Azure icons. No login, no credentials, everything runs in your browser. Open InfraSketch → Why Azure Bicep needs a diagram tool Bicep is Microsoft's domain-specific language for Azure infrastructure. It compiles to ARM JSON and deploys via Azure Resource Manager. A production Bicep template can define dozens of resources — virtual networks, subnets, AKS clusters, API Management gateways, SQL servers, Key Vaults, Service Bus namespaces, and more. Reading that code to understand the topology is slow and error-prone. ARM JSON is even harder. A 1,000-line azuredeploy.json with nested dependsOn arrays and resourceId() references takes real effort to parse mentally. The Azure portal shows deployed resources but not their relationships. Visio and draw.io require manual box-drawing. There's no free tool that takes your Bicep or ARM code and generates a diagram automatically — until now. InfraSketch parses Bicep and ARM JSON directly in the browser. No Azure subscription required. No CLI. No compile step. Paste and generate. Open infrasketch.cloud, click the Bicep / ARM tab, paste your template, and click Generate Diagram. InfraSketch auto-detects whether the input is Bicep syntax or ARM JSON — you don't need to switch modes. // Bicep example — paste this into the Bicep / ARM tab param location string = 'eastus' resource vnet 'Microsoft.Network/virtualNetworks@2023-04-01' = { name: 'prod-vnet' location: location properties: { addressSpace: { addressPrefixes: ['10.0.0.0/16'] } } } resource appSubnet 'Microsoft.Network/virtualNetworks/subnets@2023-04-01' = { parent: vnet name: 'app' properties: { addressPrefix: '10.0.1.0/24' } } resource aks 'Microsoft.ContainerService/managedClusters@2024-01-01' = { name: 'prod-aks' location: location properties: { agentPoolProfiles: [{ name: 'nodepool1', vnetSubnetID: appSubnet.id }] } } Tip: InfraSketch handles both Bicep and ARM JSON automatically. Paste either format — the tool detects it from the syntax. Resources referencing a VNet via virtualNetworkId or parent: vnet are drawn inside the VNet boundary. Resources with vnetSubnetID or subnetId references are placed inside the correct subnet lane. ARM dependsOn and Bicep .id references between resources become directed arrows on the diagram. Subnets defined inside a VNet's properties.subnets array are automatically extracted and rendered. InfraSketch maps 40+ Azure resource types from Bicep and ARM templates into diagram nodes with official Microsoft icons: Networking: Virtual Networks, Subnets, Application Gateway, Load Balancer, Front Door, Traffic Manager, VPN Gateway, Azure Firewall, Bastion, NSG, DNS Zones Compute: Virtual Machines, VM Scale Sets, AKS (Managed Clusters), Container Instances, App Service, Function Apps, Static Web Apps Containers: Container Registry (ACR), AKS node pools Data: SQL Server, SQL Database, Cosmos DB, PostgreSQL, MySQL, Redis Cache, Storage Accounts Integration: Service Bus, Event Hub, API Management, SignalR, Web PubSub AI & Analytics: Cognitive Services, Azure AI, Data Factory, AI Search Security: Key Vault, NSG Observability: Log Analytics Workspace, Application Insights Resource types not yet in the mapping still parse — they're just omitted from the diagram rather than causing an error. Supported types grow with each release. Bicep is the recommended authoring format for new Azure projects. ARM JSON is what Bicep compiles to, and what older templates use. InfraSketch supports both: Bicep: Parses resource varName 'Type@version' = { ... } syntax. Resolves parent references for containment. Follows varName.id and varName.name references for connections. ARM JSON: Parses the resources array in azuredeploy.json. Resolves dependsOn with resourceId() expressions. Reads properties.subnet.id and properties.virtualNetwork.id for containment. { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "resources": [ { "type": "Microsoft.Network/virtualNetworks", "name": "prod-vnet", "apiVersion": "2023-04-01", "location": "[resourceGroup().location]", "properties": { "addressSpace": { "addressPrefixes": ["10.0.0.0/16"] }, "subnets": [{ "name": "app", "properties": { "addressPrefix": "10.0.1.0/24" } }] } }, { "type": "Microsoft.ContainerService/managedClusters", "name": "prod-aks", "apiVersion": "2024-01-01", "location": "[resourceGroup().location]", "dependsOn": ["[resourceId('Microsoft.Network/virtualNetworks', 'prod-vnet')]"], "properties": {} } ] } Azure landing zone reviews — visualize your hub-and-spoke VNet topology before deploying PR reviews — paste a PR's Bicep changes and see what new resources get created Onboarding — share a diagram with new engineers instead of asking them to read raw ARM JSON Documentation — export as PNG, SVG, or draw.io XML and embed in Azure DevOps wikis or Confluence Migration planning — diagram existing ARM templates before converting them to Bicep modules Architecture reviews — generate a diagram for an ARB submission without opening Visio If your team uses both Terraform (for AWS/GCP) and Bicep (for Azure), InfraSketch handles both in the same tool. Switch between the Terraform and Bicep / ARM tabs to diagram each side of a multi-cloud deployment. The layout zones — Internet, Ingress, Compute, Data, Messaging, Security — are consistent across providers, so diagrams from both tools are comparable at a glance. .bicep file or azuredeploy.json into the Bicep / ARM tab. Free, no login, nothing leaves your browser. Open InfraSketch →
