Azure Container Registry SKUs

Azure Container Registry (ACR) is available in multiple service tiers, known as SKUs. These SKUs provide predictable pricing and several options for aligning to the capacity and usage patterns of your private Docker registry in Azure.

SKU Managed Description
Basic Yes A cost-optimized entry point for developers learning about Azure Container Registry. Basic registries have the same programmatic capabilities as Standard and Premium (Azure Active Directory authentication integration, image deletion, and web hooks), however, there are size and usage constraints.
Standard Yes Standard registries offer the same capabilities as Basic, with increased storage limits and image throughput. Standard registries should satisfy the needs of most production scenarios.
Premium Yes Premium registries provide higher limits on constraints such as storage and concurrent operations, enabling high-volume scenarios. In addition to higher image throughput capacity, Premium adds features like geo-replication for managing a single registry across multiple regions, maintaining a network-close registry to each deployment.
Classic No The Classic registry SKU enabled the initial release of the Azure Container Registry service in Azure. Classic registries are backed by a storage account that Azure creates in your subscription, which limits the ability for ACR to provide higher-level capabilities such as increased throughput and geo-replication. Because of its limited capabilities, we plan to deprecate the Classic SKU in the future.

Choosing a higher-level SKU provides more performance and scale, however, all managed SKUs provide the same programmatic capabilities. With multiple service tiers, you can get started with Basic, then convert to Standard and Premium as your registry usage increases.


Because of the planned deprecation of the Classic registry SKU, we recommend you use Basic, Standard, or Premium for all new registries. For information about converting your existing Classic registry, see Upgrade a Classic registry.

Managed vs. unmanaged

The Basic, Standard, and Premium SKUs are collectively known as managed registries, and Classic registries as unmanaged. The primary difference between the two is how your container images are stored.

Managed (Basic, Standard, Premium)

Managed registries benefit from image storage managed entirely by Azure. That is, a storage account that stores your images does not appear within your Azure subscription. There are several benefits gained by using one of the managed registry SKUs, discussed in-depth in Container image storage in Azure Container Registry. This article focuses on the managed registry SKUs and their capabilities.

Unmanaged (Classic)

Classic registries are "unmanaged" in the sense that the storage account that backs a Classic registry resides within your Azure subscription. As such, you are responsible for the management of the storage account in which your container images are stored. With unmanaged registries, you can't switch between SKUs as your needs change (other than upgrading to a managed registry), and several features of managed registries are unavailable (for example, container image deletion, geo-replication, and webhooks).

For more information about upgrading a Classic registry to one of the managed SKUs, see Upgrade a Classic registry.

SKU feature matrix

The following table details the features and limits of the Basic, Standard, and Premium service tiers.

Resource Basic Standard Premium
Storage 10 GiB 100 GiB 500 GiB
Max image layer size 20 GiB 20 GiB 50 GiB
ReadOps per minute1, 2 1,000 3,000 10,000
WriteOps per minute1, 3 100 500 2,000
Download bandwidth MBps1 30 60 100
Upload bandwidth MBps1 10 20 50
Webhooks 2 10 100
Geo-replication N/A N/A Supported

1 ReadOps, WriteOps, and Bandwidth are minimum estimates. ACR strives to improve performance as usage requires.

2 docker pull translates to multiple read operations based on the number of layers in the image, plus the manifest retrieval.

3 docker push translates to multiple write operations, based on the number of layers that must be pushed. A docker push includes ReadOps to retrieve a manifest for an existing image.

Changing SKUs

You can change a registry's SKU with the Azure CLI or in the Azure portal. You can move freely between managed SKUs as long as the SKU you're switching to has the required maximum storage capacity. If you switch to one of the managed SKUs from Classic, you cannot move back to Classic--it is a one-way conversion.

Azure CLI

To move between SKUs in the Azure CLI, use the az acr update command. For example, to switch to Premium:

az acr update --name myregistry --sku Premium

Azure portal

In the container registry Overview in the Azure portal, select Update, then select a new SKU from the SKU drop-down.

Update container registry SKU in Azure portal

If you have a Classic registry, you can't select a managed SKU within the Azure portal. Instead, you must first upgrade to a managed registry (see Changing from Classic).

Changing from Classic

There are additional considerations to take into account when migrating an unmanaged Classic registry to one of the managed Basic, Standard, or Premium SKUs. If your Classic registry contains a large number of images and is many gigabytes in size, the migration process can take some time. Additionally, docker push operations are disabled until the migration is complete.

For details on upgrading your Classic registry to one of the managed SKUs, see Upgrade a Classic container registry.


For pricing information on each of the Azure Container Registry SKUs, see Container Registry pricing.

Next steps

Azure Container Registry Roadmap

Visit the ACR Roadmap on GitHub to find information about upcoming features in the service.

Azure Container Registry UserVoice

Submit and vote on new feature suggestions in ACR UserVoice.