Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
Read in English
Read in English Edit

Bicep documentation

Bicep is a language for declaratively deploying Azure resources. You can use Bicep instead of JSON for developing your Azure Resource Manager templates (ARM templates).

Get started

Overview

  • What is Bicep?

Get started

  • Install Bicep tools
  • Decompile JSON to Bicep

Quickstart

  • Create Bicep files - VS Code
  • Create Bicep files - Visual Studio

How-To Guide

  • Best practices

Author Bicep files

How-To Guide

  • Bicep file structure & syntax
  • Define resources
  • Define modules
  • User-defined data types
  • User-defined functions
  • Create parameters file
  • Use iterative loops
  • Use conditionals
  • Reference existing resources
  • Use deployment script

Reference

  • Data types
  • Functions
  • Operators

Deploy Bicep files

How-To Guide

  • Deploy with Azure CLI
  • Deploy with Azure PowerShell
  • Use What-if operation

Quickstart

  • Bicep with pipelines
  • Bicep with GitHub Actions

Patterns

How-To Guide

  • Configuration set pattern
  • Shared variable file pattern

Deployment scopes

How-To Guide

  • Resource group scope
  • Subscription scope
  • Management group scope
  • Tenant scope
  • Scope extension resource

Explore reference content

Reference

  • Bicep CLI reference
  • Bicep warning and error codes
  • Azure CLI reference
  • Azure PowerShell reference
  • Microsoft Graph Bicep reference
Your Privacy Choices
  • SH ICP Filing No. 13015306-25
  • PSB Filing No. 31011502002224
  • Privacy
  • Microsoft Azure Operated by 21Vianet
  • © Microsoft 2025
Your Privacy Choices
  • SH ICP Filing No. 13015306-25
  • PSB Filing No. 31011502002224
  • Privacy
  • Microsoft Azure Operated by 21Vianet
  • © Microsoft 2025