Object storage pricing is deceptively hard to compare because the headline storage rate is rarely the number that ends up on your bill. The figure that actually decides your cost is egress, the charge for serving data out to your users, and it is exactly the number that providers bury. Cloudflare R2 made itself easy to reason about by setting egress to zero. This guide breaks down every component of R2 pricing in 2026, works through real examples, and compares the total cost against Amazon S3 and Backblaze B2 so you can see where R2 wins and where it does not.

If you want the practical setup side, see my guide on hosting images on R2 . This post is purely about the money.

TL;DR

  • R2 storage is $0.015 per GB per month (Standard) or $0.01 per GB (Infrequent Access)
  • Operations: Class A (writes) $4.50 per million, Class B (reads) $0.36 per million on Standard
  • Egress is $0, which is the decisive advantage over S3’s ~$0.09 per GB
  • Free tier: 10 GB storage, 1 million Class A and 10 million Class B operations per month
  • R2 almost always wins when you serve data; S3 and B2 can win for cold archives that are rarely read

The Components of R2 Pricing

R2 bills on three things, and that is the whole list. There is no egress charge, no per-region surcharge, and no minimum commitment. From the official R2 pricing for 2026:

ComponentStandardInfrequent Access
Storage (per GB / month)$0.015$0.01
Class A operations (per million)$4.50$9.00
Class B operations (per million)$0.36$0.90
Egress$0$0

Class A operations are writes and mutations: uploads, copies, multipart completions, and listing buckets. Class B operations are reads: fetching an object, checking its metadata. Class A costs more because writes are heavier than reads. Note the trade-off on Infrequent Access: storage is cheaper, but the per-operation costs are roughly double, which is the point of the class, it rewards data you store a lot and touch rarely.

The R2 Pricing Free Tier

R2’s free tier is monthly and recurring, not a 12-month trial, which matters for small projects that want to stay free indefinitely:

Free each month (Standard storage)Amount
Storage10 GB-month
Class A operations1 million
Class B operations10 million

The free tier applies to Standard storage only, not Infrequent Access. For a personal site, a portfolio, or a small app, these allowances frequently cover the entire workload, so your storage bill is genuinely $0.

R2 Pricing Worked Examples

Abstract rates are hard to feel, so here are three concrete monthly scenarios.

Example 1: Small blog with images. 15 GB stored, 50,000 uploads (Class A), 2 million reads (Class B).

  • Storage: 5 GB billable above the free 10 GB = $0.075
  • Class A: within the free 1 million = $0
  • Class B: within the free 10 million = $0
  • Egress: $0
  • Total: about $0.08 per month

Example 2: Busy media site. 500 GB stored, 2 million uploads, 40 million reads, serving 5 TB of images.

  • Storage: 490 GB billable = $7.35
  • Class A: 1 million billable = $4.50
  • Class B: 30 million billable = $10.80
  • Egress: 5 TB served = $0
  • Total: about $22.65 per month

That same 5 TB of egress on S3 would add roughly $450 on its own. The contrast is the entire reason R2 exists.

Example 3: Cold backup archive. 2 TB stored on Infrequent Access, rarely read.

  • Storage: 2,000 GB at $0.01 = $20
  • Operations: minimal
  • Total: about $20 per month, with no egress charge if you ever need to restore

R2 vs S3 vs Backblaze B2

Here is the same workload across the three providers. Approximate published rates as of 2026:

ComponentCloudflare R2Amazon S3 (Standard)Backblaze B2
Storage (per GB / month)$0.015~$0.023~$0.007
Egress (per GB)$0~$0.09Free up to 3x storage, then $0.01
Write requests (per million)$4.50 (Class A)~$5.00 (PUT)Generally free / low
Read requests (per million)$0.36 (Class B)~$0.40 (GET)Generally free / low
Edge deliveryBuilt inNeeds CloudFront (extra)Via CDN partners

The takeaways:

  • If you serve data to users, R2 wins thanks to zero egress and built-in edge delivery. The more you serve, the larger the gap.
  • Backblaze B2 has the cheapest raw storage and free egress through CDN partners such as Cloudflare, which makes it attractive for archives and backups. For public serving, R2’s integrated edge keeps the architecture simpler.
  • S3 wins on ecosystem, not price. If your workload is deeply tied to AWS services, the integration can be worth the egress premium. For standalone storage and serving, it is the most expensive of the three once egress is counted.

How to Keep Your R2 Pricing Low

A few practical habits keep your R2 pricing minimal:

  • Set long cache headers (Cache-Control: public, max-age=31536000, immutable) so the edge serves cached copies and you avoid repeat Class B reads.
  • Batch and minimise writes. Class A operations cost more than reads, so avoid unnecessary re-uploads and chatty multipart patterns.
  • Use Infrequent Access for cold data such as backups and originals you rarely fetch, to roughly cut storage cost by a third.
  • Serve through a connected custom domain rather than signed S3 requests, so caching does the heavy lifting.

Managing R2 Without Surprises

Keeping an eye on storage and operation counts is the easiest way to keep your R2 pricing predictable and avoid a surprise. My free Easy Cloudflare R2 desktop app shows storage usage and Class A/Class B operation counts across custom date ranges, alongside full bucket and file management. Seeing your actual usage makes the pricing tangible and helps you decide when Infrequent Access is worth switching on.

Key Takeaways

  • R2 pricing charges for storage and operations only; egress is always $0
  • Standard storage is $0.015 per GB; Infrequent Access is $0.01 with higher per-operation costs
  • The recurring monthly free tier (10 GB + 1M Class A + 10M Class B) keeps many small projects free
  • As an S3 alternative for serving data, R2 wins decisively once egress is counted, and beats B2 on integrated edge delivery
  • B2 is cheapest for raw cold storage; S3 wins on AWS ecosystem, not on price
  • Long cache headers and Infrequent Access are the two biggest levers for keeping the bill low

Frequently Asked Questions

How much does Cloudflare R2 cost? Standard storage is $0.015 per GB per month, Class A operations are $4.50 per million, and Class B operations are $0.36 per million. Egress is free. There is also a recurring monthly free tier of 10 GB of storage, 1 million Class A and 10 million Class B operations.

Is R2 really free for egress? Yes. R2 does not charge for egress bandwidth on any storage class. You pay only for stored data and for operations. This is the main reason it is cheaper than S3 for serving data.

What is the difference between Class A and Class B operations? Class A operations are writes and mutations such as uploads, copies and bucket listings. Class B operations are reads such as fetching an object or its metadata. Class A costs more per operation because writes are more expensive than reads.

Is R2 cheaper than Amazon S3? For storing and serving data publicly, yes, usually by a wide margin, because S3 charges roughly $0.09 per GB for egress and needs CloudFront for edge delivery. S3 can still be worth it if you are heavily integrated with other AWS services.

What is Infrequent Access storage? Infrequent Access is a cheaper storage class at $0.01 per GB per month, intended for data you store but rarely read, such as backups and archives. Its per-operation costs are higher, so it only pays off when reads are infrequent.

How does R2 compare to Backblaze B2? Backblaze B2 has the lowest raw storage price and offers free egress through CDN partners, making it strong for archives. R2’s advantage is built-in edge delivery and a simpler architecture for serving content publicly, plus zero egress with no partner dependency.