Azure OpenAI Service naming convention
The CAF abbreviation for Azure OpenAI Service is oai.
Names can be 2 to 64 characters long and allow alphanumerics and hyphens.
The name must be unique within the resource group.
Naming rules
| CAF abbreviation | oai |
|---|---|
| Length | 2 to 64 characters |
| Allowed characters | Alphanumerics (a-z, A-Z, 0-9), hyphens |
| Scope of uniqueness | Unique within the resource group |
| CAF pattern | oai-{workload}-{environment}-{region}-{instance} |
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 AI + machine learning resources
Most AI and machine learning resources use the same Cognitive Services pattern: 2 to 64 characters, resource group scoped, not globally unique. That surprises people, since a lot of these accounts feel like they should behave like a database or storage account. In practice this means the region does not need to be in the name for uniqueness, but it is still worth keeping for clarity, since teams commonly provision the same service (OpenAI, Speech, Vision) in more than one region for quota or data residency reasons, and a name with no region becomes ambiguous the moment a second one exists.
Foundry hubs and projects are the one hierarchical pair in this category, a hub can contain several projects, so name the project for what it actually does and let the hub name carry the shared platform identity. A common mistake is naming multiple instances of the same service only by workload and skipping the purpose, Custom Vision, for example, has separate training and prediction resources that are easy to mix up once both exist side by side.
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 | oai-payments-prod-eus-001 | 25/64 |
| Web app, development | oai-webapp-dev-weu-002 | 22/64 |
| Analytics with company prefix | oai-contoso-analytics-stage-uks-001 | 35/64 |
Naming in Terraform and Bicep
Build the name from variables so one module produces the right name in every environment.
locals {
openai_name = "oai-${var.workload}-${var.environment}-${var.region}-001"
} var openaiName = 'oai-${workload}-${environment}-${region}-001' Generate Azure OpenAI Service names for your workload
Free, no login. Validation and Terraform, Bicep, or CSV export included.
Open in the generator →Related AI + machine learning resources
See the full list of Azure resource naming rules or read the complete CAF naming guide.