Back to blog
cloudflare r2pricingegressobject storages3 compatible

Cloudflare R2 Pricing 2026: Storage, Class A/B, Free Tier & Zero Egress

Complete Cloudflare R2 pricing guide for 2026: Standard vs Infrequent Access rates, Class A and Class B operations, free tier limits, zero egress fees, and real monthly cost examples.

Cloudflare R2 pricing is simple on paper: pay for storage and API operations, and egress to the internet is free. That zero-egress model is why R2 keeps ranking for searches like "cloudflare r2 pricing 2026", "zero egress fees", and "storage egress requests".

This guide breaks down the official rate card, free tier, Standard vs Infrequent Access, and worked monthly examples so you can estimate cost before you migrate. Numbers reflect Cloudflare's public R2 pricing docs as of mid-2026 - always recheck the docs before budgeting.

R2 pricing at a glance (2026)

MeterStandard storageInfrequent Access
Storage$0.015 / GB-month$0.01 / GB-month
Class A operations$4.50 / million$9.00 / million
Class B operations$0.36 / million$0.90 / million
Data retrievalNone$0.01 / GB
Egress to the internetFreeFree
Minimum storage durationNone30 days

Key takeaway: bandwidth-heavy workloads (public assets, downloads, multi-cloud reads) usually win on R2 because S3-style egress at ~$0.09/GB disappears. Highly write-heavy, tiny-object apps may still pay more in Class A request fees - model both storage and operations.

Cloudflare also publishes an official R2 pricing calculator. Use the interactive comparison below for a quick R2 vs S3 Standard (us-east-1 style egress) sketch:

Stored data4.9 TB
Monthly bandwidth9.8 TB
Cloudflare R2
$75.00
Storage$75.00
Egress$0.00
AWS S3
$1,015.00
Storage$115.00
Egress$900.00
Monthly savings if you switch to R2$940.00

Free tier (Standard storage only)

Every month, Standard storage includes:

IncludedAmount
Storage10 GB-month
Class A operations1 million requests
Class B operations10 million requests
EgressFree (no cap from R2 itself)

Important: the free tier does not apply to Infrequent Access. Deletes (DeleteObject, DeleteBucket, AbortMultipartUpload) are free operations on both classes.

What counts as Class A vs Class B?

Class A (mutate / list-heavy - more expensive)

Examples include:

  • PutObject, CopyObject, CompleteMultipartUpload, CreateMultipartUpload, UploadPart
  • ListBuckets, ListObjects, ListMultipartUploads, ListParts
  • Bucket config writes such as CORS and lifecycle configuration

Class B (reads / metadata - cheaper)

Examples include:

  • GetObject, HeadObject, HeadBucket
  • GetBucketLocation, GetBucketCors, GetBucketLifecycleConfiguration

If your app lists large prefixes constantly or re-uploads many small objects, Class A can dominate the bill even when storage looks cheap. Batch writes and cache listings when you can.

Standard vs Infrequent Access

Choose Standard when objects are read often, change often, or need no minimum retention.

Choose Infrequent Access when data is cold most of the month and you can live with:

  • Lower storage rate ($0.01 / GB-month)
  • Higher Class A/B rates
  • $0.01 / GB retrieval fee when data is read or copied
  • 30-day minimum storage duration (you still pay ~30 days if you delete early)

Rule of thumb: IA wins for backups and archives with rare reads. Standard wins for product assets, user uploads that are re-downloaded, and anything behind a busy CDN origin pattern.

Worked cost examples

1) Asset hosting (read-heavy, small objects)

  • 100,000 files × 100 KB ≈ 10 GB stored
  • 10 million reads per day ≈ 300 million Class B / month

Rough math on Standard:

  • Storage: covered by free tier (10 GB)
  • Class A: 100k writes → free tier
  • Class B: ~290M billable after free tier × $0.36 / million ≈ $104 / month
  • Egress: $0

This matches Cloudflare's own asset-hosting example: storage can be free while read volume drives cost.

2) Media / SaaS downloads (egress is the story)

Assume 5 TB stored and 30 TB downloaded per month on Standard:

ComponentR2 estimate
Storage5,120 GB × $0.015 ≈ $76.80
Egress$0
Requestsworkload-dependent (often smaller than egress would have been on S3)

On Amazon S3 Standard-style internet egress at $0.09/GB, 30 TB alone is roughly $2,700+ before storage. That gap is why "zero egress" queries dominate R2 search demand.

3) Infrequent Access archive with early delete

1,000 objects × 1 GB, stored 5 days, each read 1,000 times, then deleted:

Because of the 30-day minimum, storage bills like a full month. Cloudflare's example lands near $29.90 total (storage + higher IA ops + retrieval) - not the "5 days of storage" you might expect. Plan IA retention before you automate deletes.

Zero egress: what is free, and what is not?

Free from R2: data transfer out to the internet via the S3 API, Workers bindings, and managed public bucket access (for example r2.dev public access).

Still billable elsewhere:

  • Cloudflare Workers CPU / requests if you front R2 with Workers
  • Third-party CDNs or proxies that meter their own bandwidth
  • Class A/B operations on every API call
  • Source-bucket charges when using migration tools (Super Slurper / Sippy copy reads from the origin)

R2 does not magically make every architecture free - it removes R2 → internet egress as a line item.

How R2 billing units work

Cloudflare rounds up to the next billing unit:

  • 1,000,001 operations → billed as 2 million
  • 1.1 GB-month → billed as 2 GB-month

Storage uses GB-month based on averaged peak daily storage over the billing period. Spiky growth for half a month costs less than holding the peak for the full month.

Migration tools and pricing impact

  • Super Slurper and Sippy are free to use as products, but each object write into R2 is still a Class A operation (multipart for large objects).
  • Your source bucket (S3, GCS, etc.) may charge for reads and egress during migration.
  • After cutover, ongoing cost is normal R2 storage + operations.

When R2 pricing is the wrong fit

  • You need deep AWS-native integrations (EventBridge, S3 Select, Glacier Instant Retrieval tiers, organization SCPs) more than cheap egress.
  • You generate tens of millions of tiny PUT/LIST calls with almost no download traffic - request fees can erase storage savings.
  • Compliance requires storage classes or attestations R2 does not yet cover for your industry.

Manage R2 without living in the dashboard

Once pricing looks right, day-to-day bucket work should not mean clicking through the Cloudflare UI for every upload.

  1. Create an R2 API token with Object Read & Write (or tighter scopes).
  2. Note your S3 API endpoint: https://<account-id>.r2.cloudflarestorage.com.
  3. Connect the same credentials in BucketMate - a native S3 GUI for macOS and Web - to browse, upload, search, and share objects.
  4. Follow the full credential walkthrough in the Cloudflare R2 S3 endpoint setup guide.

For a side-by-side feature and cost decision framework, see Cloudflare R2 vs AWS S3 pricing comparison.

FAQ

Is Cloudflare R2 really zero egress in 2026?

Egress from R2 to the internet is free on Standard and Infrequent Access. You still pay for storage, Class A/B operations, and IA retrieval. Other Cloudflare or third-party products can still meter their own usage.

How much is R2 storage per GB?

Standard storage is $0.015 per GB-month. Infrequent Access is $0.01 per GB-month with retrieval fees and a 30-day minimum.

Does the free tier include Infrequent Access?

No. The free tier (10 GB storage, 1M Class A, 10M Class B) applies to Standard storage only.

Are unauthorized requests billable?

No. Cloudflare does not charge operations that return HTTP 401 Unauthorized.

Have questions? Please contact us 👇

Contact Us