# Amazon S3 vs Azure Blob Storage

Canonical: https://inetgeek.com/compare/amazon-s3-vs-azure-blob/

Every value below is read from Amazon S3's and Azure Blob Storage's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Amazon S3 | Azure Blob Storage |
| --- | --- | --- |
| Pricing model | Per region and per storage class, with storage, requests, retrievals, data transfer and management features each metered separately. AWS states there is no minimum charge, and bills storage in binary gigabytes — 1 GB is 2^30 bytes, not 10^9. | Per region, per redundancy and per access tier, with storage, operations and bandwidth metered separately. Rates are published in Azure's public Retail Prices API rather than only on a pricing page, so a figure can be re-verified exactly rather than re-read. |
| Egress over allowance | $0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all. | First 100 GB a month free, then $0.087 per GB over Microsoft's global network, falling to $0.083 above ~10 TB, $0.07 above ~50 TB and $0.05 above ~150 TB. Routing over the public internet instead is $0.08 at the first tier. This is Azure-wide bandwidth rather than a Blob-specific charge. |
| Storage (entry plan) | None. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance. | None. Azure Blob has no plans and no free storage band: the Hot LRS storage meter's cheapest tier begins at tierMinimumUnits 0 and charges $0.0208 per GB-month from the first gigabyte, with volume tiers only above 50 TB. Azure's free account offer sits outside the rate card and is time-limited, so it is not an allowance this criterion can record. |
| Storage price | $0.023 per GB-month for S3 Standard, first 50 TB, in us-east-1. S3 prices vary by region; this and every other S3 figure on the site is that region. | $0.0208 per GB-month for Hot LRS in East US, falling to $0.019968 above 50 TB and $0.019136 above 500 TB. Azure prices vary by region and redundancy; this and every Azure figure on the site is East US, locally redundant. |
| Operations price | $0.005 per 1,000 PUT, COPY, POST and LIST requests, and $0.004 per 10,000 GET and all other requests, in us-east-1. DELETE and CANCEL are free. | $0.05 per 10,000 write operations and $0.004 per 10,000 reads on Hot LRS — $5.00 and $0.40 per million. Listing and creating containers is $0.05 per 10,000; all other operations $0.004. |
| Minimum storage duration | None on S3 Standard. 30 days on Standard-IA and One Zone-IA, 90 days on Glacier Instant and Flexible Retrieval, 180 days on Glacier Deep Archive, each with a pro-rated charge for early deletion. | None on Hot. Cool carries a 30-day minimum, Cold 90 days and Archive 180 days — the longest early-deletion window of any provider here, and three times S3's 90-day Glacier figure. |

## Where they differ

### Pricing model

- Amazon S3: Per region and per storage class, with storage, requests, retrievals, data transfer and management features each metered separately. AWS states there is no minimum charge, and bills storage in binary gigabytes — 1 GB is 2^30 bytes, not 10^9. ([source](https://aws.amazon.com/s3/pricing/))
- Azure Blob Storage: Per region, per redundancy and per access tier, with storage, operations and bandwidth metered separately. Rates are published in Azure's public Retail Prices API rather than only on a pricing page, so a figure can be re-verified exactly rather than re-read. ([source](https://prices.azure.com/api/retail/prices))

### Egress over allowance

- Amazon S3: $0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSDataTransfer/current/us-east-1/index.json))
- Azure Blob Storage: First 100 GB a month free, then $0.087 per GB over Microsoft's global network, falling to $0.083 above ~10 TB, $0.07 above ~50 TB and $0.05 above ~150 TB. Routing over the public internet instead is $0.08 at the first tier. This is Azure-wide bandwidth rather than a Blob-specific charge. ([source](https://prices.azure.com/api/retail/prices))

### Storage (entry plan)

- Amazon S3: None. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance. ([source](https://aws.amazon.com/s3/pricing/))
- Azure Blob Storage: None. Azure Blob has no plans and no free storage band: the Hot LRS storage meter's cheapest tier begins at tierMinimumUnits 0 and charges $0.0208 per GB-month from the first gigabyte, with volume tiers only above 50 TB. Azure's free account offer sits outside the rate card and is time-limited, so it is not an allowance this criterion can record. ([source](https://prices.azure.com/api/retail/prices))

### Storage price

- Amazon S3: $0.023 per GB-month for S3 Standard, first 50 TB, in us-east-1. S3 prices vary by region; this and every other S3 figure on the site is that region. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonS3/current/us-east-1/index.json))
- Azure Blob Storage: $0.0208 per GB-month for Hot LRS in East US, falling to $0.019968 above 50 TB and $0.019136 above 500 TB. Azure prices vary by region and redundancy; this and every Azure figure on the site is East US, locally redundant. ([source](https://prices.azure.com/api/retail/prices))

### Operations price

- Amazon S3: $0.005 per 1,000 PUT, COPY, POST and LIST requests, and $0.004 per 10,000 GET and all other requests, in us-east-1. DELETE and CANCEL are free. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonS3/current/us-east-1/index.json))
- Azure Blob Storage: $0.05 per 10,000 write operations and $0.004 per 10,000 reads on Hot LRS — $5.00 and $0.40 per million. Listing and creating containers is $0.05 per 10,000; all other operations $0.004. ([source](https://prices.azure.com/api/retail/prices))

### Minimum storage duration

- Amazon S3: None on S3 Standard. 30 days on Standard-IA and One Zone-IA, 90 days on Glacier Instant and Flexible Retrieval, 180 days on Glacier Deep Archive, each with a pro-rated charge for early deletion. ([source](https://aws.amazon.com/s3/pricing/))
- Azure Blob Storage: None on Hot. Cool carries a 30-day minimum, Cold 90 days and Archive 180 days — the longest early-deletion window of any provider here, and three times S3's 90-day Glacier figure. ([source](https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview))

## Which should you choose?

Pick Amazon S3 if Workloads already inside AWS, where keeping data in the same region as the compute avoids the transfer charges that dominate an object storage bill.

Pick Azure Blob Storage if Workloads already on Azure, where keeping storage in the same region as the compute avoids the bandwidth charge that dominates an object storage bill.

Consider something else: Amazon S3 — Egress is the cost that decides this category and S3 charges for it, where R2, Wasabi and Tigris do not. Prices also vary by region, so a figure quoted anywhere is only true for the region it was read in.

Consider something else: Azure Blob Storage — Egress is charged beyond the first 100 GB a month, where R2, Wasabi and Tigris charge nothing — and Azure's rates vary by region and redundancy, so a quoted figure only holds for the combination it was read for.

## Documented by only one

- Free tier: Amazon S3: Yes
- S3-compatible API: Amazon S3: Supported

## Questions this comparison answers

**Egress over allowance: Amazon S3 or Azure Blob Storage?**

Amazon S3: $0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all.
Azure Blob Storage: First 100 GB a month free, then $0.087 per GB over Microsoft's global network, falling to $0.083 above ~10 TB, $0.07 above ~50 TB and $0.05 above ~150 TB. Routing over the public internet instead is $0.08 at the first tier. This is Azure-wide bandwidth rather than a Blob-specific charge.

**Storage (entry plan): Amazon S3 or Azure Blob Storage?**

Amazon S3: None. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance.
Azure Blob Storage: None. Azure Blob has no plans and no free storage band: the Hot LRS storage meter's cheapest tier begins at tierMinimumUnits 0 and charges $0.0208 per GB-month from the first gigabyte, with volume tiers only above 50 TB. Azure's free account offer sits outside the rate card and is time-limited, so it is not an allowance this criterion can record.

**Should I choose Amazon S3 or Azure Blob Storage?**

Pick Amazon S3 if Workloads already inside AWS, where keeping data in the same region as the compute avoids the transfer charges that dominate an object storage bill.
Pick Azure Blob Storage if Workloads already on Azure, where keeping storage in the same region as the compute avoids the bandwidth charge that dominates an object storage bill.
