Azure naming · Microsoft.Web/sites

app App Service

Web app or API app. The name backs a public DNS label (<name>.azurewebsites.net).

Naming constraints

CAF abbreviationapp
Resource typeMicrosoft.Web/sites
Length2–60 characters
CaseMixed case
Allowed charactersAlphanumerics and hyphens. Can't start or end with a hyphen.
Uniqueness Global
SeparatorHyphen
Watch out: Globally unique across azurewebsites.net. Function apps are the same resource type (Microsoft.Web/sites) with kind 'functionapp', so a naming policy has to tell them apart by kind.

Source: Microsoft Learn, “Naming rules and restrictions for Azure resources”, checked October 2026. Abbreviation from the Cloud Adoption Framework.

Example & copy-ready

A worked name for workload app, env prod, region weu, instance 001.

Example name
app-app-prod-weu-001 Valid
Validation regex for CI checks or pre-commit hooks (.NET and JavaScript)
^(?=.{2,60}$)[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$
Bicep naming expression
var name = take('app-${workload}-${env}-${region}-${instance}', 60)
Terraform local
locals {
  name = substr(join("-", compact(["app", var.workload, var.env, var.region, var.instance])), 0, 60)
}

Azure Policy can't evaluate regular expressions, so a policy can check the app prefix but not the full format. Run the regex in your pipeline, or audit existing names on a schedule.

Uniqueness scope

Globally unique across all of Azure — the name backs a public DNS label, so a clash with any other tenant's resource fails the deployment. Build in enough entropy (org/region/instance) to avoid collisions.

Open in the name generator