Skip to content
inetGeek

Cloudflare R2 vs Azure Blob Storage

A comparison of Cloudflare R2 and Azure Blob Storage built from values read directly from each provider's own documentation, with the source recorded against every figure.

Updated 8 criteria comparedSources last checked

The short answer

Pick Cloudflare R2 if
Serving files to the public, where egress is the bill everyone underestimates. Nothing to pay for bandwidth out, on any storage class, so a busy bucket costs what it costs to store rather than what it costs to read.
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.

5 sourced criteria separate them:

Egress over allowance
Cloudflare R2: Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.
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)
Cloudflare R2: 10 GB-month free each month, plus 1 million Class A and 10 million Class B operations
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.
Storage price
Cloudflare R2: $0.015 per GB-month for Standard, $0.01 for Infrequent Access. Billed rounded up to the whole GB-month.
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.
Operations price
Cloudflare R2: $4.50 per million Class A operations (writes and listings) and $0.36 per million Class B (reads) on Standard; $9.00 and $0.90 on Infrequent Access. Rounded up to the whole million.
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.
Minimum storage duration
Cloudflare R2: None on Standard storage — billing averages peak storage per day, so an object deleted after five days is charged for five days. Infrequent Access carries a 30-day minimum, billed even if the object is deleted, moved or replaced sooner.
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.

No affiliate links, sponsored placements or paid rankings appear on this site. Ordering follows the sourced data and the stated criteria.

01.

At a glance.

CriterionCloudflare R2Azure Blob Storage
Pricing
Egress over allowanceFree. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.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.
Limits
Storage (entry plan)
10 GB-month free each month, plus 1 million Class A and 10 million Class B operations
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
Storage price$0.015 per GB-month for Standard, $0.01 for Infrequent Access. Billed rounded up to the whole GB-month.$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$4.50 per million Class A operations (writes and listings) and $0.36 per million Class B (reads) on Standard; $9.00 and $0.90 on Infrequent Access. Rounded up to the whole million.$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 durationNone on Standard storage — billing averages peak storage per day, so an object deleted after five days is charged for five days. Infrequent Access carries a 30-day minimum, billed even if the object is deleted, moved or replaced sooner.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.

Only criteria both providers publish appear here; a tinted cell marks a real difference. Criteria only one of them documents are listed below, and an absence there means we found no source — not that the feature is missing. How we source this.

The small bar above a value is inetGeek's own lean toward that side — computed from the same facts shown, never a number the provider published. See the picker below "The short answer" to weigh only the criteria you care about.

02.

Where they differ.

Egress over allowance

Cloudflare R2
Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.
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.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “For the Infrequent Access storage class, data retrieval fees apply. There are no charges for egress bandwidth for any storage class. [...] Egress (data transfer to Internet) Free Free”

    Read 2026-09-06 · official pricing

  • Azure Retail Prices API — Bandwidth, eastus ↗

    “"meterName": "Standard Data Transfer Out", "unitOfMeasure": "1 GB", "retailPrice": 0.0, "tierMinimumUnits": 0.0 [...] 0.087, "tierMinimumUnits": 100.0 [...] 0.083, 10335.0 [...] 0.07, 51295.0 [...] 0.05, 153695.0 [...] "Bandwidth - Routing Preference" [...] 0.08, "tierMinimumUnits": 100.0”

    Read 2026-09-06 · official pricing

Storage (entry plan)

Cloudflare R2

10 GB-month free each month, plus 1 million Class A and 10 million Class B operations

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.

Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “You can use the following amount of storage and operations each month for free. [...] Storage 10 GB-month / month Class A Operations 1 million requests / month Class B Operations 10 million requests / month”

    Read 2026-09-06 · official pricing

  • Azure Retail Prices API ↗

    “Hot LRS Data Stored price=0.0208 tierMinimumUnits=0.0 unit=1 GB/Month type=Consumption [...] price=0.019968 tierMinimumUnits=51200.0 [...] price=0.019136 tierMinimumUnits=512000.0”

    Read 2026-09-07 · official pricing

Storage price

Cloudflare R2
$0.015 per GB-month for Standard, $0.01 for Infrequent Access. Billed rounded up to the whole GB-month.
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.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “Storage $0.015 / GB-month $0.01 / GB-month [...] If you have used 1.1 GB-month, you will be billed for 2 GB-month.”

    Read 2026-09-06 · official pricing

  • Azure Retail Prices API — Storage, eastus ↗

    “"meterName": "Hot LRS Data Stored", "unitOfMeasure": "1 GB/Month", "retailPrice": 0.0208, "tierMinimumUnits": 0.0 [...] 0.019968, "tierMinimumUnits": 51200.0 [...] 0.019136, "tierMinimumUnits": 512000.0”

    Read 2026-09-06 · official pricing

Operations price

Cloudflare R2
$4.50 per million Class A operations (writes and listings) and $0.36 per million Class B (reads) on Standard; $9.00 and $0.90 on Infrequent Access. Rounded up to the whole million.
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.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “Class A Operations $4.50 / million requests $9.00 / million requests Class B Operations $0.36 / million requests $0.90 / million requests [...] If you have performed one million and one operations, you will be billed for two million operations.”

    Read 2026-09-06 · official pricing

  • Azure Retail Prices API — Storage, eastus ↗

    “"meterName": "Hot LRS Write Operations", "unitOfMeasure": "10K", "retailPrice": 0.05 [...] "Hot Read Operations", "10K", 0.004 [...] "LRS List and Create Container", "10K", 0.05 [...] "All Other Operations", "10K", 0.004”

    Read 2026-09-06 · official pricing

Minimum storage duration

Cloudflare R2
None on Standard storage — billing averages peak storage per day, so an object deleted after five days is charged for five days. Infrequent Access carries a 30-day minimum, billed even if the object is deleted, moved or replaced sooner.
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.
Sources (2) →
  • Pricing — Cloudflare R2 docs ↗

    “Storage class Minimum storage duration Standard storage None Infrequent Access storage 30 days [...] you will be charged for the object for the minimum storage duration even if the object was deleted or moved before the duration specified”

    Read 2026-09-07 · official docs

  • Access tiers for blob data — Microsoft Learn ↗

    “Data in the cool tier should be stored for a minimum of 30 days. [...] Data in the cold tier should be stored for a minimum of 90 days. [...] Data in the archive tier should be stored for a minimum of 180 days.”

    Read 2026-09-07 · official docs

When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.

Confirm by email; unsubscribe from any issue. Your address goes to Kit and nowhere else — what we do with it.

03.

Which should you choose?

Choose Cloudflare R2 if…

Serving files to the public, where egress is the bill everyone underestimates. Nothing to pay for bandwidth out, on any storage class, so a busy bucket costs what it costs to store rather than what it costs to read.

Editorial · Palash Bagchi · approved

Choose 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.

Editorial · Palash Bagchi · approved

Consider something else if…

  • Cloudflare R2: Operations are charged and rounded up to the whole million, so a workload of many tiny reads and writes pays here instead. The saving is on bandwidth, not on request volume.
  • 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.
04.

Documented by only one.

These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing.

Free tierCloudflare R2: Yes
Pricing modelAzure 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.
S3-compatible APICloudflare R2: Supported
05.

Questions this comparison answers.

Egress over allowance: Cloudflare R2 or Azure Blob Storage?

Cloudflare R2: Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.

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): Cloudflare R2 or Azure Blob Storage?

Cloudflare R2: 10 GB-month free each month, plus 1 million Class A and 10 million Class B operations

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 Cloudflare R2 or Azure Blob Storage?

Pick Cloudflare R2 if Serving files to the public, where egress is the bill everyone underestimates. Nothing to pay for bandwidth out, on any storage class, so a busy bucket costs what it costs to store rather than what it costs to read.

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.

Every page here is sourced and dated.