Skip to content
Containers cr

Container registry naming convention

The CAF abbreviation for Container registry is cr. Names can be 5 to 50 characters long and allow lowercase alphanumerics only. The name must be globally unique across all of Azure.

Naming rules

CAF abbreviation cr
Length 5 to 50 characters
Allowed characters Lowercase letters and numbers
Scope of uniqueness Global (must be unique across all of Azure)
CAF pattern cr{workload}{environment}{region}{instance}
Worth knowing: Globally unique name. Alphanumeric only, no hyphens. Azure treats the name case-insensitively and lowercases it for the login server URL.

Rules follow Microsoft's resource naming rules and CAF abbreviations. Some resource types have extra start/end character restrictions, so verify against the official docs before locking in a convention.

Naming Containers resources

Container Registry is globally unique and already has its own guide. AKS node pools are the sharp edge in this category, the system node pool name is capped at 12 characters (6 on Windows), far tighter than almost anything else in Azure, so short, functional names matter more here than anywhere else in the naming scheme.

A Container Apps environment groups multiple container apps the way a Service Bus namespace groups queues, name the environment for the shared platform boundary and the individual container app for the workload it runs. The common mistake is giving node pools descriptive names and hitting the character ceiling immediately, plan for the 12 character limit before you need it.

Example names

Generated by the same engine as the name generator, so length and character rules are already applied.

Scenario Generated name Length
Payments API, production crpaymentsprodeus001 20/50
Web app, development crwebappdevweu002 17/50
Analytics with company prefix crcontosoanalyticsstageuks001 29/50

Naming in Terraform and Bicep

Build the name from variables so one module produces the right name in every environment.

Terraform
locals {
  container_registry_name = lower("cr${var.workload}${var.environment}${var.region}001")
}
Bicep
var containerRegistryName = toLower('cr${workload}${environment}${region}001')

Generate Container registry names for your workload

Free, no login. Validation and Terraform, Bicep, or CSV export included.

Open in the generator →

Related Containers resources

See the full list of Azure resource naming rules or read the complete CAF naming guide.