Container Registry Cost Calculator

Calculate Docker container registry costs for ECR, GCR, ACR, or Docker Hub. Estimate storage and data transfer fees for your container images.

GB
$/GB
GB
$/GB
GB
days
Storage Cost
$10.00
100.00 GB at $0.1/GB
Transfer Cost
$18.00
200.00 GB egress at $0.09/GB
Monthly Total
$28.00
Storage + transfer combined
Annual Total
$336.00
Projected 12-month spend
Cost per Image
$0.56
Monthly cost divided by image count
Cost per Pull
$0.0056
5,000.00 monthly pulls

Cost Split

Storage 35.7%
Transfer 64.3%

Retention Impact

RetentionTotal StorageStorage CostVisual
30 days40.00 GB$4.00/mo
60 days80.00 GB$8.00/mo
90 days120.00 GB$12.00/mo
180 days240.00 GB$24.00/mo
365 days486.70 GB$48.67/mo

Scale Projection

ImagesStorageStorage CostTransfer CostTotal
25.0060.00 GB$6.00$180.00$186.00
50.00120.00 GB$12.00$360.00$372.00
100.00240.00 GB$24.00$720.00$744.00
250.00600.00 GB$60.00$1,800.00$1,860.00
500.001,200.00 GB$120.00$3,600.00$3,720.00
1,000.002,400.00 GB$240.00$7,200.00$7,440.00
Planning notes, formulas, and examples

About the Container Registry Cost Calculator

Container registries host your Docker images and are a critical piece of any CI/CD pipeline. Costs vary significantly between providers: AWS ECR, Google GCR (now Artifact Registry), Azure ACR, and Docker Hub each have different pricing models for storage and data transfer.

ECR charges $0.10/GB/month for storage and standard data transfer rates for pulls. GCR uses Cloud Storage pricing at roughly $0.026/GB for multi-regional storage. Docker Hub offers free public repositories but charges $5–$25/month for private repos with varying pull rate limits.

This calculator helps you estimate the monthly cost of hosting container images based on total storage used and images pulled. Use it to compare providers and optimize your container registry spending by setting lifecycle policies to clean up old images.

When This Page Helps

Container image bloat is one of the most overlooked infrastructure costs. Without lifecycle policies, registries accumulate thousands of old image tags. Teams with active CI/CD pipelines can easily store 50–200 GB of images, costing $5–$20/month in storage alone plus significant data transfer charges for frequent pulls.

How to Use the Inputs

  1. Enter total image storage in GB across all repositories.
  2. Set the per-GB monthly storage rate for your provider.
  3. Enter the estimated data transfer out per month in GB.
  4. Set the per-GB data transfer rate.
  5. Review total monthly and annual costs.
Formula used
Storage Cost = storage_GB × storage_rate_per_GB Transfer Cost = transfer_GB × transfer_rate_per_GB Total Monthly = Storage Cost + Transfer Cost

Example Calculation

Result: $28.00/month

100 GB of stored images at ECR's $0.10/GB costs $10/month. 200 GB of data transfer (image pulls) at $0.09/GB costs $18/month. Total: $28/month. Setting up lifecycle policies to keep only the last 10 tags per repo could reduce storage by 50–80%.

Tips & Best Practices

  • Set lifecycle policies to automatically remove untagged images and keep only the N most recent tags.
  • Use multi-stage Docker builds to reduce image size by 50–70%.
  • Use Alpine or distroless base images instead of full Ubuntu images.
  • Pull images via VPC endpoints to avoid data transfer charges (ECR).
  • Consider using ECR pull-through cache for public images to avoid Docker Hub rate limits.
  • Audit image sizes with `docker image ls --format` before pushing.

Container Registry Pricing Deep Dive

ECR charges $0.10/GB/mo storage and standard AWS transfer rates. GCR (now Artifact Registry) charges $0.026/GB/mo for multi-regional storage but $0.12/GB for cross-region pulls. ACR Basic is $5/mo for 10 GB included; Premium is $100/mo with geo-replication. Docker Hub Personal is free; Team is $7/user/month.

Image Size Optimization

The single biggest registry cost reduction comes from shrinking your images. Start with Alpine-based images (5 MB base vs 72 MB for Ubuntu). Use multi-stage builds to separate build tools from runtime. Strip debug symbols and unnecessary files. A well-optimized Node.js image can be under 50 MB versus 900 MB with a naive Dockerfile.

Lifecycle Policies

Both ECR and GCR support lifecycle policies that automatically delete images matching certain criteria: untagged images older than N days, images exceeding a count limit, or images matching specific tag patterns. Implementing a policy to keep only the last 10 tagged images per repository typically reduces storage by 70–90%.

Sources & Methodology

Last updated:

Frequently Asked Questions

  • AWS ECR charges $0.10/GB/month for private repositories. Public ECR is free for storage with 50 GB/month free transfer. Data transfer within the same region is free; cross-region and internet transfer follow standard AWS rates.