R2 vs S3 when egress is the bill

Comparison · s3

Reviewed 2026-10-25 · against the official Cloudflare pricing pages listed under Sources

Try this scenarioLoads these inputs into the calculator so you can change them.

Two hundred GB of audio and 8 million downloads. R2 charges storage and Class B. It does not charge egress.

Competitor dollar amounts are unverified. This page calculates Cloudflare only and links the other price list. Do not quote a vendor price from memory.

Two hundred GB of episodes and 8 million downloads. Egress is the line people expect to see, and on R2 it is zero.

The S3 data-transfer price is the number this page refuses to guess. Read it for your region.

If listeners download far more than you store, the missing egress line is the whole comparison.

R2 does not charge egress

Bandwidth out to the internet is free on Standard and Infrequent Access. The bill is storage, Class A, Class B, and Infrequent Access retrieval. The free tier is monthly and applies to Standard only, on both the Free and Paid Workers plans.

This model

$2.85 · Free

Free quotas for Workers, KV, D1, Queues, and Durable Objects reset at 00:00 UTC. A month that averages under the cap can still fail on one busy day. R2 is different: its free tier is monthly, and usage above it is billed on both plans.

R2 storage
$2.85

200 used, 10 included. 190 billable, rounded up to 190. Exact charge $2.85, shown as $2.85. R2 rounds billable storage up to the next GB-month. 1.1 GB-month of billable storage is billed as 2. R2 does not charge egress bandwidth.

Assumptions

  • A 30-day month and steady traffic across it.
  • Rates as published on 2026-10-25; taxes excluded.
  • The Free plan does not bill Workers, KV, D1, Durable Objects or Queues. When a daily cap is reached, requests fail until 00:00 UTC instead of costing more.
  • R2 storage adds $2.85 (100% of the bill): you used more than the 10 included.
  • R2 is billed on both plans above its monthly free tier, which is why the Free plan is not $0 here.
  • R2 egress (bandwidth out) is free, so downloads only cost Class B reads.

Try this scenario

Sources