Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Cloud Resource Naming Convention Generator & Checker

One naming standard, fitted to every resource type’s limits, with existing names checked.

Free preview, no sign-upIncluded in your pass Premium tool Premium pass: ₹799 / $19.99 for 30 days On this device: nothing is sent
+3 +1 more details No uploadWorks offline once opened Developer

Free preview: three of the generated names and the first three checked names (at most half of a shorter list), with the counts. Locked until you unlock it: download and copy.

Premium pass ₹799 for 30 days or ₹249 for 1 week, one‑time. Premium pass $19.99 for 30 days or $7.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: three of the generated names and the first three checked names (at most half of a shorter list), with the counts.
  • Locked until you unlock it: download and copy.
  • Unlock: Premium pass, ₹799 for 30 days or ₹249 for 1 week, a one-time payment that never renews. Unlock: Premium pass, $19.99 for 30 days or $7.99 for 1 week, a one-time payment that never renews.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

Naming standard

Parts of every name, in order
    Separator between the parts

    A type that does not allow it gets another separator it allows, or none.

    Letters
    Instance number

    Resource types

    Choose the types to name. The abbreviation starts each name (clear it to leave the type out); the ones listed are the provider’s own where it publishes some.

    Resource types to name, with their abbreviations
    UseResource typeAbbreviation
    Azure
    Microsoft.Resources/resourceGroups
    Microsoft.Storage/storageAccounts
    Microsoft.Storage/storageAccounts/blobServices/containers
    Microsoft.Network/virtualNetworks
    Microsoft.Network/virtualNetworks/subnets
    Microsoft.Network/networkSecurityGroups
    Microsoft.Network/publicIPAddresses
    Microsoft.Network/loadBalancers
    Microsoft.Network/loadBalancers
    Microsoft.Network/networkInterfaces
    Microsoft.Compute/virtualMachines
    Microsoft.Compute/virtualMachines
    Microsoft.KeyVault/vaults
    Microsoft.Web/sites
    Microsoft.Web/sites
    Microsoft.Web/serverfarms
    Microsoft.Sql/servers
    Microsoft.Sql/servers/databases
    Microsoft.ContainerService/managedClusters
    Microsoft.ContainerRegistry/registries
    Microsoft.DocumentDB/databaseAccounts
    Microsoft.OperationalInsights/workspaces
    Microsoft.Insights/components
    Microsoft.ServiceBus/namespaces
    Microsoft.EventHub/namespaces
    Microsoft.ManagedIdentity/userAssignedIdentities
    Microsoft.ContainerInstance/containerGroups
    Microsoft.DataFactory/factories
    AWS
    S3 general purpose bucket
    Lambda function
    IAM role
    DynamoDB table
    SQS queue
    SQS FIFO queue
    SNS topic
    RDS DB instance identifier
    Elastic Load Balancing v2 load balancer
    EKS cluster
    ECR repository
    CloudWatch Logs log group
    EC2 instance tag “Name”
    Google Cloud
    Cloud Storage bucket
    Compute Engine instance
    Compute Engine network
    Compute Engine subnetwork
    Project ID
    Pub/Sub topic
    Pub/Sub subscription
    GKE cluster
    Cloud Run service
    IAM service account
    BigQuery dataset
    Kubernetes
    Namespace
    Service
    Deployment
    StatefulSet
    ConfigMap
    Secret

    Names

    0resource types
    0fit as they are
    0adapted
    0cannot fit
    0names in the bulk file

    The name each resource type gets under the standard
    Resource typeNameLengthUnique withinChanges and checks

    Documents and files

    The standard with every resource type’s name, rules and pattern, the tags and the checked names; the bulk file has every combination of the values.

    Check existing names

    A type is its name (Storage account), with the provider’s name in front when two providers have one by that name, or the provider’s own name for the type. A CSV file with a name and a type column works too; it is read on your device.

    0names checked
    0OK
    0not to the standard
    0break the rules

    Each name checked against its type’s rules and the standard
    NameResultWhat to fixReplacement

    Tag standard

    The tags (labels) every resource carries. Each is checked against the tag rules of the providers you chose types from.

    Tags every resource carries
    TagRequiredAllowed valuesWhat it saysRemove
      Save or open this standard

      The standard, the types, the tags and the names to check are kept in this browser. A setup file takes them to another browser or a colleague.

      Next steps Done. What next?

      Start over

      A Premium pass unlocks the full result. See passes

      All developer tools

      About the Cloud Resource Naming Convention Generator & Checker

      Write one naming standard for your cloud and see the name it gives every resource type. Put the parts in order — organisation, workload, environment, region, instance number, the type’s abbreviation, or parts of your own — with their codes, then choose the separator and the letters. Each type then gets its name within its own rules: a type that refuses hyphens gets another separator or none, one that refuses capitals gets lowercase, and a name that is too long is shortened, with every change said beside it.

      The page knows the published naming rules of 58 resource types of three public clouds and Kubernetes: length, characters, first and last character, repeated separators, reserved prefixes and endings, and where the name must be unique. Paste existing names, or open a CSV file, to check them against those rules and your standard, with a replacement for each one that fails. Add the tags every resource carries, checked against each provider’s tag rules. Everything is worked out in your browser. Without a pass the result is a free preview: the counts, three of the names and the first three checked names; every name, the document (Markdown, Word, PDF), the bulk CSV, the patterns and the JSON unlock with a Premium pass.

      How to use it

      1. Set the parts of every name in order, with the codes each one takes (prd = Production, weu = West Europe), the separator and the letters.
      2. Choose the resource types to name; change an abbreviation, or clear it to leave the type out of that name.
      3. Read the name each type gets: where a type refuses the separator, capitals or the length, the name is adapted and the change is said.
      4. Paste existing names (or open a CSV file) to check them against the rules and the standard, with a replacement for each one that fails.
      5. List the tags every resource carries, with the values allowed, and fix what a provider would refuse.
      6. With a Premium pass, download the standard as Markdown, Word or PDF, the bulk CSV of names, the patterns and the JSON (the free preview shows three names and three checked names).

      Examples

      A storage account
      Input
      st · acme · shop · prd · weu · 001, joined by hyphens
      Result
      stacmeshopprdweu001

      Storage account names take lowercase letters and digits only, so the separators go.

      A key vault at its limit
      Input
      kv · acme · shop · prd · weu · 001
      Result
      kv-acme-shop-prd-weu-001 (24 characters: the limit exactly)
      A virtual machine with a 15-character host name
      Input
      vm · acme · shop · prd · weu · 001
      Result
      vmacshprdweu001

      Without separators it is still too long, so the organisation and the workload are cut to two letters.

      Checking a name
      Input
      kv-acme-shop-production-weu-001 (key vault)
      Result
      31 characters, 24 at most; “production” is not one of prd, stg, dev. Replacement: kv-acme-shop-prd-weu-001

      Common uses

      • Writing the naming standard of a platform or cloud team, with the exceptions each resource type forces worked out.
      • Getting the names of a new environment (every workload, environment and region) ready before the infrastructure code is written.
      • Checking an export of existing resource names against the standard, with replacements to plan renames.
      • Adding the patterns to a pipeline so names that break the standard are caught before deployment.
      • Agreeing the tags (labels) every resource carries, in a form every provider in use accepts.

      How each type gets its name

      • Separator: the one you chose where the type allows it; otherwise a hyphen or an underscore it allows; otherwise none.
      • Letters: lowercase wherever the type refuses capitals, whatever you chose.
      • Values: characters the type refuses are dropped, and separators inside a value become the name’s separator.
      • Length: when a name is too long, the parts with other values allowed — the workload, the organisation and your own parts — are cut, longest first, down to three characters; if that is not enough the separators go, and then the cut goes down to two. Codes for the environment, region and instance number are never cut.
      • Child resources and Kubernetes objects: a part can be left out of them (the organisation inside a parent resource, the region inside a cluster).
      • Fixed endings: a FIFO queue’s name gets “.fifo”, counted in its length.

      What the checker looks at

      Each name is checked against its type’s rules — length, characters, the first and the last character, two separators in a row, reserved prefixes and endings, a name shaped like an IP address — and against the standard: the parts in order, the codes listed for each, the separator and the letters. A replacement keeps what the name says: an environment written out (“production”, “staging”) becomes the standard’s code for it, a region written out becomes its code, a number becomes the instance number, and words the standard does not know become the workload. Parts the name lacks get the standard’s first code, and every change is listed.

      Patterns for automated checks

      Each type gets one regular expression for its names under the standard: the listed codes as alternatives, parts with other values allowed as runs of letters and digits (or one of their own codes, such as web-api), the instance number as its digits. Where the longest names have to be shortened, the shortened forms are accepted too. The syntax is the one JavaScript, PCRE, Python and RE2 share (no look-around), so the same line works in a script, a policy or a pipeline; the length is checked apart, and the JSON file holds each type’s limits.

      Sources

      • <https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-name-rules>
      • <https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-abbreviations>
      • <https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/resource-naming>
      • <https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/tag-resources>
      • <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html>
      • <https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html>
      • <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html>
      • <https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html>
      • <https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_CreateQueue.html>
      • <https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html>
      • <https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html>
      • <https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateLoadBalancer.html>
      • <https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateCluster.html>
      • <https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_CreateRepository.html>
      • <https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html>
      • <https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html>
      • <https://docs.cloud.google.com/storage/docs/buckets>
      • <https://docs.cloud.google.com/compute/docs/naming-resources>
      • <https://docs.cloud.google.com/resource-manager/docs/creating-managing-projects>
      • <https://docs.cloud.google.com/pubsub/docs/pubsub-basics>
      • <https://docs.cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters>
      • <https://docs.cloud.google.com/run/docs/deploying>
      • <https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.services/create>
      • <https://docs.cloud.google.com/iam/docs/service-accounts-create>
      • <https://docs.cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts/create>
      • <https://docs.cloud.google.com/bigquery/docs/datasets>
      • <https://docs.cloud.google.com/resource-manager/docs/labels-overview>
      • <https://kubernetes.io/docs/concepts/overview/working-with-objects/names/>
      • <https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/>
      • <https://kubernetes.io/docs/concepts/services-networking/service/>
      • <https://kubernetes.io/docs/concepts/workloads/controllers/deployment/>
      • <https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/>
      • <https://kubernetes.io/docs/concepts/configuration/configmap/>
      • <https://kubernetes.io/docs/concepts/configuration/secret/>
      • <https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/>
      • <https://kubernetes.io/docs/reference/kubectl/>

      Limitations

      • The rules are the ones each provider publishes for the type; a provider can refuse a name for a reason it only gives when the resource is created.
      • Whether a name that must be unique everywhere is still available can only be found by creating it: the page says which types need such a name.
      • Where the documentation gives no character set (one container service’s), the page uses lowercase letters, digits and hyphens.
      • Up to 58 resource types; the bulk file holds up to 100,000 names and the checker reads up to 5,000 lines.
      • The PDF prints Latin letters; other scripts print as “?” there, while the Word, Markdown, CSV and JSON files keep them.
      • The free preview shows three of the names and the first three checked names (at most half of a shorter list).

      Privacy

      On this device: nothing is sent

      Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

      Frequently asked questions

      What do I get without a pass?

      Without a pass, Cloud Resource Naming Convention Generator & Checker shows three of the generated names and the first three checked names (at most half of a shorter list), with the counts. Until you unlock it, the result can’t be downloaded or copied. A Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

      Which abbreviations does it use?

      For the types of the provider that publishes an abbreviation list, its abbreviations; for Kubernetes objects, kubectl’s short names; for the rest, short forms suggested here. Change any of them in the list of resource types, or clear one to leave the type out of its names.

      What happens when a name is too long for a type?

      The parts with other values allowed (the workload, the organisation and your own parts) are cut to three characters, longest first; if that is not enough the separators go, and then the cut goes down to two. The environment, region and instance codes are never cut, and every change is listed beside the name.

      Does it check whether a name is already taken?

      No. Names that must be unique across every customer (storage accounts, buckets, key vaults, web apps, project IDs) can only be tried when the resource is created. The table says which types need such a name, and an organisation code in them makes a clash unlikely.

      Can I use the patterns in a pipeline?

      Yes: one regular expression per type, in the syntax JavaScript, PCRE, Python and RE2 share. Check the length apart: the JSON file has each type’s limits, its pattern and an example name.

      What does the free preview show?

      The counts, three of the generated names and the first three checked names (at most half of a shorter list), and every problem in your own input. The other names and checked names, and every file, need a Premium pass.

      Is anything uploaded?

      No. The standard, the names you check and any file you open stay in your browser.

      Quick answers and tool search

      Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.