# Cloudflare R2 [[Cloudflare]] R2 is an S3-compatible object storage service with **zero egress fees**. Same API surface as Amazon S3 (sigv4, PUT/GET/multipart, presigned URLs), distributed across Cloudflare's network, but you only pay for storage and operations — not for bandwidth out. The egress economics are the entire pitch. On AWS, S3 storage is cheap but bandwidth is the bill that hurts: pulling 10 TB out of S3 costs ~$900/month. R2 charges $0 for that same egress. For any workload that serves media, hosts datasets, or backs a CDN, R2 is the cheapest object store on the market by an order of magnitude. ## Why It Matters R2 turns "host large files on the cloud" from a budgeting exercise into a non-issue. It pairs natively with [[Cloudflare Workers]] (binding-based access, no creds in code) and with [[Cloudflare Pages]] for asset offloading. AI workloads benefit especially: training datasets, model weights, embedding caches, generated artifacts. ## Common Use Cases - **Static asset hosting** behind a CDN or [[Cloudflare Pages]] - **Media storage** (images, video, audio) without egress fear - **Dataset hosting** for ML workloads — public datasets, fine-tuning corpora - **Backups** — snapshots, archives, log dumps - **S3 migrations** — drop-in replacement via S3 API + Super Slurper migration tool ## Pricing Shape - Storage: $0.015/GB-month - Class A ops (writes): $4.50 per million - Class B ops (reads): $0.36 per million - **Egress: $0** - Free tier: 10 GB-month of storage, 1M Class A and 10M Class B operations per month - **Infrequent Access** storage class: $0.01/GB-month, but $0.01/GB to retrieve and pricier operations ($9.00 / $0.90 per million). Egress stays free ## What changed in 2026 - **Local Uploads** (open beta, February): object data is written near the client, then replicated to the bucket. Cloudflare measured up to 75% lower time to last byte for cross-region uploads - **`us` jurisdiction** (August), next to the existing EU one: data stored and processed inside the US. A bucket's jurisdiction can't be changed after creation - **Data Access Logs** (GA, September): per-bucket logs of reads, writes, lists and deletes in Workers Observability - **[[Cloudflare Basin|Basin]]** (GA, October 1): the analytics layer on top of R2 got its own name. [[Cloudflare Pipelines]] became Basin Pipelines, R2 Data Catalog (managed Apache Iceberg tables) became Basin Catalog, and R2 SQL became Basin SQL. External engines such as [[DuckDB]] read the same tables without egress fees ## References - R2 home: https://www.cloudflare.com/developer-platform/products/r2/ - Documentation: https://developers.cloudflare.com/r2/ - Pricing: https://developers.cloudflare.com/r2/pricing/ - Changelog, R2 Local Uploads open beta (2026-02-03): https://developers.cloudflare.com/changelog/post/2026-02-03-r2-local-uploads/ - Changelog, `us` jurisdiction for R2 (2026-08-17): https://developers.cloudflare.com/changelog/post/2026-08-17-r2-us-jurisdiction/ - Changelog, R2 Data Access Logs (2026-09-04): https://developers.cloudflare.com/changelog/post/2026-09-04-r2-data-access-logs/ - Changelog, Cloudflare Basin GA (2026-10-01): https://developers.cloudflare.com/changelog/post/2026-10-01-basin-ga/ - Basin documentation: https://developers.cloudflare.com/basin/ ## Related - [[Cloudflare]] - [[Cloudflare Workers]] - [[Cloudflare AI Search]] - [[Cloudflare Pages]] - [[Cloudflare D1]] - [[Cloudflare KV]] - [[Cloudflare Pipelines]] - [[Cloudflare Basin]] - [[Cloudflare Containers]] - [[Cloudflare Artifacts]] - [[DuckDB]] - [[Wrangler]]