Azure Resource Naming Conventions (CAF)

May 6, 2026 · View on GitHub

Source: Define your naming convention | Abbreviations | Name rules

Always follow these rules when creating, suggesting, or reviewing Azure resource names.


General Pattern

<resource-type-abbr>-<workload>-<environment>-<region>-<instance>

Component rules:

  • Resource type — use the official abbreviation from the table below, placed first
  • Workload / app / project — short descriptive name (e.g., navigator, payments)
  • Environmentprod, dev, qa, stage, test
  • Region — use Azure region short names: westus, eastus2, westeurope, northeurope, uksouth, southeastasia, australiaeast, etc.
  • Instance — zero-padded number: 001, 002

Some resource types deviate from this pattern (e.g., no hyphens allowed). See Official Abbreviations and Naming Rules for per-resource patterns and constraints.

General character rules:

  • Prefer lowercase letters and hyphens (-). No spaces, no underscores unless the resource type requires it.
  • Some resources do not allow hyphens — use concatenated lowercase alphanumerics instead (see table).
  • Do not use: #, <, >, %, &, \, ?, / or control characters.
  • Do not encode sensitive data (subscription ID, tenant ID) in names.
  • Most names are case-insensitive in Azure — always compare case-insensitively.
  • Resources with public endpoints cannot include reserved words or trademarks.

Naming Scope

ScopeMeaning
GlobalUnique across all of Azure (PaaS with public endpoints)
Resource groupUnique within the resource group
ResourceUnique within the parent resource

Official Abbreviations and Naming Rules

Management and Governance

ResourceAbbrScopeLengthValid CharactersExample
Management groupmgtenant1-90Alphanumerics, hyphens, underscores, periods, parenthesesmg-platform-prod
Resource grouprgsubscription1-90Underscores, hyphens, periods, parentheses, letters, digitsrg-navigator-prod
Log Analytics workspacelogresource group4-63Alphanumerics and hyphenslog-navigator-prod-001
Application Insightsappiresource group1-260Can't use: %&\?/appi-navigator-prod-001
Automation accountaaresource group + region6-50Alphanumerics and hyphens, start with letteraa-navigator-prod-001

Networking

ResourceAbbrScopeLengthValid CharactersExample
Virtual networkvnetresource group2-64Alphanumerics, underscores, periods, hyphensvnet-shared-eastus2-001
Subnetsnetvirtual network1-80Alphanumerics, underscores, periods, hyphenssnet-shared-eastus2-001
Network security groupnsgresource group1-80Alphanumerics, underscores, periods, hyphensnsg-weballow-001
Application security groupasgresource group1-80Alphanumerics, underscores, periods, hyphensasg-navigator-prod-001
Network interfacenicresource group1-80Alphanumerics, underscores, periods, hyphensnic-01-vmnavigator-prod-001
Public IP addresspipresource group1-80Alphanumerics, underscores, periods, hyphenspip-navigator-prod-westus-001
Load balancer (internal)lbiresource group1-80Alphanumerics, underscores, periods, hyphenslbi-navigator-prod-001
Load balancer (external)lberesource group1-80Alphanumerics, underscores, periods, hyphenslbe-navigator-prod-001
Application gatewayagwresource group1-80Alphanumerics, underscores, periods, hyphensagw-navigator-prod-001
Firewallafwresource group1-80Alphanumerics, underscores, periods, hyphensafw-navigator-prod-001
Firewall policyafwpresource group1-80Alphanumerics, underscores, periods, hyphensafwp-navigator-prod-001
Route tablertresource group1-80Alphanumerics, underscores, periods, hyphensrt-navigator-prod-001
Virtual network gatewayvgwresource group1-80Alphanumerics, underscores, periods, hyphensvgw-shared-eastus2-001
VPN Gatewayvpngresource group1-80Alphanumerics, underscores, periods, hyphensvpng-navigator-prod-001
Azure Bastionbasresource group1-80Alphanumerics, underscores, periods, hyphensbas-navigator-prod-001
Private endpointpepresource group2-64Alphanumerics, underscores, periods, hyphenspep-navigator-prod-001
Traffic Manager profiletrafglobal1-63Alphanumerics and hyphens (no periods)traf-navigator-prod
ExpressRoute circuitercresource group1-80Alphanumerics, underscores, periods, hyphenserc-navigator-prod-001
CDN profilecdnpresource group1-260Alphanumerics and hyphenscdnp-navigator-prod-001
Front Door profileafdresource group5-64Alphanumerics and hyphensafd-navigator-prod

Compute and Web

ResourceAbbrScopeLengthValid CharactersExample
Virtual machinevmresource group1-15 (Windows) / 1-64 (Linux)No spaces or: ~ ! @ # $ % ^ & * ( ) = + _ [ ] { } | ; : . ' " , < > / ?vm-sql-test-001
VM scale setvmssresource group1-15 (Windows) / 1-64 (Linux)Same as VMvmss-navigator-prod-001
Availability setavailresource group1-80Alphanumerics, underscores, periods, hyphensavail-navigator-prod-001
App Service planaspresource group1-60Alphanumeric, hyphens, Unicodeasp-navigator-prod-001
Web appappglobal2-60Alphanumeric, hyphens, Unicode. Can't start/end with hyphen.app-navigator-prod-001
Function appfuncglobal2-60Alphanumeric, hyphens, Unicode. Can't start/end with hyphen.func-navigator-prod-001
Static web appstappresource groupstapp-navigator-prod-001
App Service environmentaseresource groupase-navigator-prod-001

Containers

ResourceAbbrScopeLengthValid CharactersExample
AKS clusteraksresource group1-63Alphanumerics, underscores, hyphensaks-navigator-prod-001
AKS system node poolnpsystemmanaged cluster1-12 (Linux) / 1-6 (Windows)Lowercase letters and numbers, can't start with numbernpsystem
AKS user node poolnpmanaged cluster1-12 (Linux) / 1-6 (Windows)Lowercase letters and numbers, can't start with numbernpusers
Container appscaresource group2-32Lowercase letters, numbers, hyphens. Start with letter, end with alphanumeric.ca-navigator-prod-001
Container apps environmentcaeresource groupcae-navigator-prod-001
Container instanceciresource group1-63Lowercase letters, numbers, hyphens. Can't start/end with hyphen.ci-navigator-prod-001
Container registrycrglobal5-50Alphanumerics only — no hyphenscrnavigatorprod001

Databases

ResourceAbbrScopeLengthValid CharactersExample
Azure SQL serversqlglobal1-63Lowercase letters, numbers, hyphens. Can't start/end with hyphen.sql-navigator-prod-001
Azure SQL databasesqldbSQL server1-128Can't use: <>*%&:\/?sqldb-navigator-prod
SQL Managed Instancesqlmiglobal1-63Lowercase letters, numbers, hyphens. Can't start/end with hyphen.sqlmi-navigator-prod-001
Azure Cosmos DBcosmosglobal3-44Lowercase letters, numbers, hyphens. Start with lowercase letter or number.cosmos-navigator-prod
Azure Managed Redisamrglobal1-63Alphanumerics and hyphens. Start/end with alphanumeric.amr-navigator-prod-001
MySQL servermysqlglobal3-63Lowercase letters, hyphens, numbers. Can't start/end with hyphen.mysql-navigator-prod-001
PostgreSQL serverpsqlglobal3-63Lowercase letters, hyphens, numbers. Can't start/end with hyphen.psql-navigator-prod-001

Storage

ResourceAbbrScopeLengthValid CharactersExample
Storage accountstglobal3-24Lowercase letters and numbers only — no hyphensstnavigatorprod001
Backup vaultbvaultresource group2-50Alphanumerics and hyphens. Start with a letter.bvault-navigator-prod-001

Security

ResourceAbbrScopeLengthValid CharactersExample
Key vaultkvglobal3-24Alphanumerics and hyphens. Start with letter, end with letter or number. No consecutive hyphens.kv-navigator-prod-001
Managed identityidresource group3-128Alphanumerics, hyphens, underscores. Start with letter or number.id-navigator-prod-001

Integration

ResourceAbbrScopeLengthValid CharactersExample
API Managementapimglobal1-50Alphanumerics and hyphens. Start with letter, end with alphanumeric.apim-navigator-prod
Service Bus namespacesbnsglobal6-50Alphanumerics and hyphens. Start with letter, end with letter or number.sbns-navigator-prod
Service Bus queuesbqService Bus1-260Alphanumerics, periods, hyphens, underscores, slashessbq-navigator
Service Bus topicsbtService Bus1-260Alphanumerics, periods, hyphens, underscores, slashessbt-navigator
Event Hubs namespaceevhnsglobal6-50Alphanumerics and hyphens. Start with letter, end with letter or number.evhns-navigator-prod
Event hubevhEvent Hubs namespace1-256Alphanumerics, periods, hyphens, underscoresevh-navigator
Logic applogicresource group1-43Alphanumerics, hyphens, underscores, periodslogic-navigator-prod-001

AI and Machine Learning

ResourceAbbrScopeLengthValid CharactersExample
Azure OpenAI Serviceoairesource group2-64Alphanumerics and hyphensoai-navigator-prod
AI Searchsrchglobalsrch-navigator-prod
Azure ML workspacemlwresource group3-33Alphanumerics, hyphens, underscoresmlw-navigator-prod
Foundry hubhubresource group3-33Alphanumerics, hyphens, underscoreshub-navigator-prod
Foundry hub projectprojFoundry hub3-33Alphanumerics, hyphens, underscoresproj-navigator-prod
Foundry accountaifresource group2-64Alphanumerics and hyphensaif-navigator-prod
Foundry account projectprojFoundry accountproj-navigator-prod
Foundry Tools (multi-service)aisresource group2-64Alphanumerics and hyphensais-navigator-prod

Analytics and IoT

ResourceAbbrScopeLengthValid CharactersExample
Azure Data Factoryadfglobal3-63Alphanumerics and hyphens. Start/end with alphanumeric.adf-navigator-prod
Azure Databricks workspacedbwresource group3-64Alphanumerics, underscores, hyphensdbw-navigator-prod-001
Azure Data Explorer clusterdecglobal4-22Lowercase letters and numbers. Start with a letter.decnavigatorprod
Azure Synapse workspacesynwglobal1-50Lowercase letters, hyphens, numbers. Start/end with letter or number.synw-navigator-prod
IoT hubiotglobal3-50Alphanumerics and hyphens. Can't end with hyphen.iot-navigator-prod
Event Grid topicevgtregion3-50Alphanumerics and hyphensevgt-navigator-prod

Developer Tools

ResourceAbbrScopeLengthValid CharactersExample
App Configuration storeappcsglobal5-50Alphanumerics and hyphens. No more than two consecutive hyphens.appcs-navigator-prod
SignalRsigrglobal3-63Alphanumerics and hyphens. Start with letter, end with letter or number.sigr-navigator-prod

Resources That Do NOT Allow Hyphens

These resources require concatenated lowercase alphanumerics (no separators):

ResourceAbbrPattern
Storage accountstst{workload}{env}{instance}stnavigatorprod001
Container registrycrcr{workload}{env}{instance}crnavigatorprod001
Azure Data Explorer clusterdecdec{workload}{env}decnavigatorprod

Examples (CAF)

# Management
rg-navigator-prod
rg-webapp-database-dev

# Networking
vnet-shared-eastus2-001
snet-shared-eastus2-001
nsg-weballow-001
pip-dc1-shared-eastus2-001
lbe-navigator-prod-001

# Compute
vm-sql-test-001
vm-sharepoint-dev-001
vmss-navigator-prod-001
asp-navigator-prod-001
app-navigator-prod-001
func-navigator-prod-001

# Containers
aks-navigator-prod-001
ca-navigator-prod-001
cae-navigator-prod-001
crnavigatorprod001        # no hyphens!

# Databases
sql-navigator-prod-001
sqldb-navigator-prod
cosmos-navigator-prod
psql-navigator-prod-001

# Storage / Security
stnavigatorprod001        # no hyphens!
kv-navigator-prod-001
id-navigator-prod-001

# Integration
apim-navigator-prod
sbns-navigator-prod
evhns-navigator-prod

# Monitoring
log-navigator-prod-001
appi-navigator-prod-001

# AI
oai-navigator-prod
srch-navigator-prod

Do NOT Do

  • Do not use underscores unless the resource type requires it — use hyphens.
  • Do not spell out the full resource type word (e.g., storageaccount-myapp → use stmyapp001).
  • Do not use uppercase letters (resources are case-insensitive; lowercase is the convention).
  • Do not include sensitive data (subscription ID, tenant ID, passwords) in names.
  • Do not skip the environment segment — even for production.
  • Do not use # — it breaks URL parsing in Azure Resource Manager.
  • Do not use reserved words or trademarks in names for resources with public endpoints.
  • Do not use more than two consecutive hyphens (e.g., app--prod is invalid).