Cloudflare R2
An S3-compatible object storage service from Cloudflare with zero egress fees, integrated with the Cloudflare global edge network.
Summary
An S3-compatible object storage service from Cloudflare with zero egress fees, integrated with the Cloudflare global edge network.
R2 directly addresses the Egress Cost pain point that shapes S3 architecture decisions. By eliminating egress charges, R2 changes the economics of multi-cloud, CDN, and data distribution workloads that are prohibitively expensive on AWS S3.
- R2 is S3-compatible but does not support all S3 features (e.g., Object Lock, some lifecycle features). Test compatibility thoroughly before migration.
- Zero egress does not mean zero cost. Storage costs, Class A/B operation costs, and Workers integration costs still apply. The break-even vs S3 happens at very low egress ratios; for write-heavy / read-rare workloads R2 isn't dramatically cheaper.
- Class A operations (writes, lists) at ~$4.50/1M are the operations to watch — heavy ingestion pipelines that fan out small files can hit unexpected bills. Coalesce into multipart uploads.
- The native Workers integration is what makes R2 strategic for AI/edge use cases. Treating R2 as just "cheap S3" misses the compute-co-located angle: a Worker can read R2 at sub-10ms cold-cache latencies because it runs in the same network as the storage.
- 10 GB free tier monthly + 1M Class A + 10M Class B free per month — small deployments can run on R2 effectively free.
Pricing posture (April 2026): Storage $0.015/GB-mo Standard (under S3's $0.023). Class A ops $4.50/1M, Class B ops $0.36/1M. Egress: $0 to anywhere, including non-Cloudflare destinations. Most read-heavy workloads save 60–90% switching from S3.
Where it wins: any workload that's egress-dominated (CDN-fronted media, public dataset hosting, AI inference assets at edge), multi-cloud staging tier where R2 holds the canonical copy and you replicate cheaply to other clouds, ML model artifacts served to many edge inference endpoints.
implementsS3 API — S3-compatible interfacesolvesEgress Cost — zero egress fees, the headline differentiatorsolvesVendor Lock-In — S3-compatible alternative to AWSsolvesHigh Cloud Inference Cost — edge inference assets served from same network as compute
Definition
Cloudflare's S3-compatible object storage with **zero egress fees**, globally distributed across Cloudflare's edge network. The defining differentiator vs S3 is the cost model: storage is metered and billed, but **bandwidth out (egress) is free** — eliminating the line item that drives multi-cloud architectures away from AWS S3 for any workload that's read-heavy or CDN-fronted.
Egress costs from AWS S3 can dominate total cloud spend (often 50–80% of bill for content-heavy workloads). R2 eliminates egress fees entirely, making multi-cloud and CDN-fronted object storage architectures economically viable. Cloudflare's strategic bet: stop charging for the network because owning the customer relationship is more valuable than the egress line item.
Egress-free media storage (video, audio, images), multi-cloud data distribution where R2 is the cheap-egress staging tier, CDN-fronted object storage with native Workers integration, S3-compatible storage with predictable monthly costs (no surprise bandwidth bills), AI inference assets served at edge, dataset hosting for ML model artifacts.
Recent developments
2026 SaaS stack defaults are shifting: R2 for public assets, Supabase Storage for user-scoped data, S3 only for existing AWS estates (June 2026, practitioner analysis). A representative 2026 stack-selection writeup for Next.js SaaS lands on Supabase Storage for user-scoped data (RLS integration) and R2 behind Cloudflare's CDN for public assets — relegating S3 to teams already deep in AWS or under regulatory constraints. The underlying claim: S3 is no longer the cheap default for serving users over the open internet. Per Adamarant — Cloudflare R2 vs S3 vs Supabase Storage in 2026.
R2 Local Uploads beta — 75% TTLB reduction for distant writers. Per Cloudflare's R2 Local Uploads announcement (May 10, 2026), R2 now supports an open-beta mode that writes object data to a Cloudflare location near the uploader first and asynchronously copies to the bucket's primary location. Cloudflare reports a 75% reduction in Time to Last Byte for users far from the bucket region — meaningful for mobile uploads, ingest pipelines from third-party data sources, and any workload where the writer is geographically scattered. Strong consistency is maintained (reads see the latest write); zero additional cost on top of standard R2 pricing.
R2 also ships an Infrequent Access tier, not just Standard. IA storage runs $0.01/GB-month (vs $0.015 Standard) with a 30-day minimum retention, Class A ops at $9.00/M, Class B at $0.90/M, and a $0.01/GB retrieval fee — egress is still free on both tiers. Per Cloudflare R2 pricing docs and corroborated by R2 adds event notifications, GCS migration, infrequent access tier (primary).
R2 still trails S3 on several enterprise storage primitives. No S3 Object Lock, no Transfer Acceleration, no SSE-KMS (SSE-S3 only), and a 5TB per-object limit vs S3's 50TB; HIPAA compliance was still "in progress" as of mid-2026 (SOC 2 and GDPR are already covered). Per AWS S3 vs Cloudflare R2 vs Azure Blob vs GCS comparison and Cloudflare R2 pricing/compliance rundown (tertiary, two independent sources agree).
R2 Data Catalog (Iceberg) picks up automatic snapshot expiration. R2's managed Iceberg REST catalog now automatically expires old snapshots and removes the unreferenced data files behind them — a lifecycle-management feature relevant to anyone running an Iceberg lakehouse on R2. Per Cloudflare R2 Changelog (tertiary). Sources: R2 Local Uploads beta announcement (Cloudflare blog, May 10, 2026) · Adamarant — Cloudflare R2 vs S3 vs Supabase Storage in 2026
Connections7
Outbound5
Inbound2
alternative_to1constrained_by1Resources3
Official R2 documentation covering this S3-compatible object store with zero egress fees.
R2 S3-compatible API reference documenting supported operations, authentication, and migration guidance.
R2 general availability announcement explaining the zero-egress pricing model and S3 API compatibility.