Home/Library/Azure Container Registry and ACR Costs
How-to · Azure · Containers · Updated June 2026

How to Reduce Azure Container Registry and ACR Costs

Azure Container Registry bills are usually paying for Premium features nobody uses, years of stale build images, and geo-replication to regions with no consumers. Choose the right tier, purge old images, scope replication, and pull in-region, and the bill falls without slowing your pipeline. Here is the method.

Last updated: June 2026

Key takeaways

To cut Azure Container Registry costs, choose the cheapest tier whose included storage and features match real usage, purge stale images and untagged manifests on a schedule, scope geo-replication to regions you actually serve, and pull images in-region to avoid egress. The largest single saving is usually purging years of accumulated build artifacts that bill a daily per-gigabyte rate above the tier's included storage.

  • ACR bills a fixed daily fee per tier (Basic, Standard, Premium) plus storage above the included amount.
  • Geo-replication is Premium only and charges the Premium daily fee per replicated region.
  • Purge tasks and retention policies remove stale tags and untagged manifests automatically.
  • In-region pulls avoid the outbound data transfer charged on cross-region image pulls.

Azure Container Registry (ACR) is a managed Docker and OCI image registry that stores and serves container images for AKS and other compute. Cutting its cost means choosing the tier whose included storage and features match real usage, keeping the registry clean rather than letting old images pile up, and serving pulls from the right region. This article is part of our Azure cluster; the pillar it links up to is the complete guide to Azure cost optimization. Tier selection and image purging are Cut steps in our See, Cut, Lock, Run method.

How is Azure Container Registry priced?

ACR bills a fixed daily fee per tier, where Basic, Standard, and Premium each include an amount of storage, plus a per-gigabyte daily charge for storage above that included amount. As of June 2026, per the Azure Container Registry tier documentation, the tiers differ in included storage, throughput, and features, and Premium adds geo-replication that bills the Premium daily fee per replicated region. You also pay for outbound data transfer on image pulls that leave the region. Because the daily tier fee and the storage overage are the bulk of the bill, choosing the right tier and keeping storage clean are the main levers. Verify the current figures on the linked Azure page before acting, because registry pricing changes.

TierBillingKey featuresBest for
BasicLowest daily fee, smallest included storageCore registryDev, test, low volume
StandardMid daily fee, more included storage and throughputCore registry, higher limitsMost production workloads
PremiumHighest daily fee, largest included storageGeo-replication, private link, content trustMulti-region, regulated, high throughput

Which ACR tier should I use?

Use the cheapest tier whose included storage and features cover real usage. Basic suits development and low-volume registries, Standard handles most production workloads that need more storage and throughput, and Premium is justified only when you genuinely need its larger included storage, geo-replication across regions, or private link and content trust. The common overspend is defaulting to Premium for the reassurance of "the top tier" while pulling images in a single region and using none of the Premium-only features, paying the highest daily fee for nothing extra. Match the tier to what the registry actually does, and remember you can scale the tier up later if a real requirement appears.

How do you cut ACR costs, step by step?

These five steps match the tier to usage, keep storage clean, and cut needless egress.

  1. Choose the cheapest tier that fitsPick the tier whose included storage and throughput match real usage, using Premium only for its geo-replication, private link, or larger storage. The result is the Premium premium avoided where it adds nothing.
  2. Purge stale images and untagged manifestsRun a scheduled ACR purge task to delete old tags and dangling untagged manifests. The result is storage held at the included amount instead of paying daily for old layers.
  3. Set a retention policy on untagged manifestsEnable the registry retention policy so untagged manifests are removed automatically after a set number of days. The result is cleanup that happens without anyone remembering to run it.
  4. Scope geo-replication to regions you serveRemove replication to regions with no workloads pulling images. The result is one fewer Premium regional charge for every region you stop replicating to.
  5. Trim pull egress with regional and cached pullsPull from a registry or replica in the same region as the workload and cache base images. The result is the outbound transfer on cross-region pulls avoided.

Paying Premium for a single-region registry full of old images?

Our Azure cost audit right-sizes the ACR tier, sets purge tasks and retention policies, scopes geo-replication to live regions, and moves pulls in-region. On the performance model you pay only from realized savings. No savings, no fee.

Book an Azure cost audit →

How do I clean up old images in ACR?

Clean up old images by running a scheduled ACR purge task that deletes tags older than a set age and removes dangling untagged manifests, and by enabling the registry retention policy so untagged manifests are removed automatically after a defined number of days. Storage above the tier's included amount bills a daily per-gigabyte rate, so a CI pipeline that pushes a new image on every build quietly accumulates gigabytes of obsolete layers until something purges them. Automating the purge means the registry stays close to its included storage instead of drifting into overage, the same discipline of clearing data that bills continuously that applies to your backup vault, covered in our guide to reducing Azure Backup and Site Recovery costs.

Tier names, included storage behavior, and feature availability reflect Azure as of June 2026. Verify current pricing on the linked Azure documentation before acting, because registry packaging and rates change.

Go deeper · free guide

The Azure Cost Optimization Field Guide includes the registry tier selection worksheet and the image purge schedule we apply on engagements. It is the downloadable companion to this article.

Frequently asked questions

How is Azure Container Registry priced?

Azure Container Registry bills a fixed daily fee per tier (Basic, Standard, or Premium), each of which includes an amount of storage, plus a per-gigabyte daily charge for storage above the included amount. Premium adds geo-replication, which bills the Premium daily fee per replicated region, and you also pay for outbound data transfer on image pulls that leave the region. Choosing the right tier and purging stale images are the main cost levers. Verify current rates on the Azure Container Registry pricing page.

Which ACR tier should I use?

Use Basic for development and low-volume registries, Standard for most production workloads that need more storage and throughput, and Premium only when you need its higher included storage, geo-replication across regions, or private link and content trust features. The tiers differ in daily fee and included storage, so match the tier to real usage rather than defaulting to Premium for features you do not use.

How do I clean up old images in ACR?

Clean up old images by running a scheduled ACR purge task that deletes tags older than a set age and removes dangling untagged manifests, and by enabling the registry retention policy to remove untagged manifests automatically after a defined number of days. Storage above the tier's included amount bills a daily per-gigabyte rate, so old build artifacts and untagged layers quietly inflate the bill until they are purged.

Does geo-replication increase ACR cost?

Yes, geo-replication is a Premium feature and each replicated region adds the Premium registry daily fee plus the storage for the replicated content. Replicating to regions where no workload pulls images is a common overspend. Scope replication to the regions you actually serve, and rely on in-region pulls there rather than paying to keep copies in regions with no consumers.

The short version

Azure Container Registry savings come from matching the tier to real usage, purging stale images and untagged manifests on a schedule, scoping geo-replication to live regions, and pulling in-region to avoid egress. When you want your registry tier right-sized and the accumulated image waste cleared, that is exactly what our Azure cost optimization service delivers.

Primary sources & further reading

Cloud pricing and service behavior change frequently. Verify the specifics in this guide against the providers’ own current documentation and the FinOps Foundation: Azure pricing ↗, Azure documentation ↗ and FinOps Foundation Framework ↗. This article also reflects Cloud Cost Room’s hands-on, vendor-neutral engagement experience.

Co-founder of Cloud Cost Room and a FinOps Certified Practitioner, with 20 years in IT and cloud cost optimization across AWS, Azure, Google Cloud and OCI. More about Fredrik →

More from the Azure Cost Optimization cluster

See every guide in the Azure Cost Optimization cluster →

The Cloud Cost Brief

Cloud pricing moves. We tell you when it matters.

New commitment instruments, FOCUS changes, hyperscaler pricing shifts, and the plays that actually move a bill. No schedule, no filler.

Subscribe · Work email only