Storage account naming convention
The CAF abbreviation for Storage account is st.
Names can be 3 to 24 characters long and allow lowercase alphanumerics only.
The name must be globally unique across all of Azure.
Naming rules
| CAF abbreviation | st |
|---|---|
| Length | 3 to 24 characters |
| Allowed characters | Lowercase letters and numbers |
| Scope of uniqueness | Global (must be unique across all of Azure) |
| CAF pattern | st{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 Storage resources
Storage account naming, 3 to 24 characters, lowercase, no hyphens, globally unique, has its own dedicated guide. Backup Vaults and Resource Guards are usually centralized, one per environment protecting many resources, the same shared boundary logic as Log Analytics workspaces elsewhere in this list. File shares are scoped to their storage account, so they can be named simply and descriptively without worrying about a collision with a share in a different account.
The common mistake is creating a new backup vault per protected resource instead of consolidating an environment behind one vault, which fragments backup policies that are meant to apply consistently across everything they protect.
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 | stpaymentsprodeus001 | 20/24 |
| Web app, development | stwebappdevweu002 | 17/24 |
| Analytics with company prefix | stanalyticsstageuks001 Dropped company to fit the 24-char limit. | 22/24 |
Naming in Terraform and Bicep
Build the name from variables so one module produces the right name in every environment. The 24-character limit is enforced in the expression.
locals {
storage_account_name = substr(lower("st${var.workload}${var.environment}${var.region}001"), 0, 24)
} var storageAccountName = take(toLower('st${workload}${environment}${region}001'), 24) Generate Storage account names for your workload
Free, no login. Validation and Terraform, Bicep, or CSV export included.
Open in the generator →Related Storage resources
See the full list of Azure resource naming rules or read the complete CAF naming guide.