---
title: Cloudflare R2
slug: cloudflare-r2
url: "https://toolweight.com/tools/cloudflare-r2"
homepage: "https://www.cloudflare.com/developer-platform/products/r2/"
categories: s3-compatible-storage
last_verified: 2026-11-07
dataset_version: 0738be72
license: CC-BY-4.0
---

# Cloudflare R2

> S3-compatible object storage with zero egress fees, on Cloudflare's network.

- Cloudflare's object store, built to make egress billing disappear
- Speaks a broad S3 subset, with lifecycle config and event notifications into Queues
- Binds directly to a Worker, so reads never traverse the public internet
- No object versioning, token-based access control, and buckets placed by location hint

## Identity

|  |  |
| --- | --- |
| Name | Cloudflare R2 |
| Company | Cloudflare |
| One-liner | S3-compatible object storage with zero egress fees, on Cloudflare's network. |
| Site | https://www.cloudflare.com/developer-platform/products/r2/ |
| Docs | https://developers.cloudflare.com/r2/ |
| Founded | 2009 |
| Compared in | 1 |

## Where it is compared

### [S3-compatible storage](https://toolweight.com/compare/s3-compatible-storage)
Ranked **#3 of 12** on default weights.
| Field | Value | Confidence | Verified | Source | Note | Permalink |
| --- | --- | --- | --- | --- | --- | --- |
| True cost /mo (USD) | $22.74/mo | Inferred | 2026-07-23 | https://developers.cloudflare.com/r2/pricing/ | Storage 1,000 GB x $0.015 = $15.00. Class A 1 M x $4.50 = $4.50. Class B 9 M x $0.36 = $3.24. Egress $0. Total $22.74. R2's free tier (10 GB storage, 1 M Class A, 10 M Class B monthly) is deliberately not netted off, per the methodology's netting rule; applying it would zero the Class A and Class B lines entirely and take 10 GB off storage, giving $22.74 - $0.15 - $4.50 - $3.24 = $14.85. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--true_cost_usd |
| True cost /mo (AUD) | A$34.56/mo | Inferred | 2026-07-23 | - | $22.74 x 1.52. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--true_cost_aud |
| True cost from Sydney (AUD) | A$34.56/mo | Inferred | 2026-07-23 | - | Unchanged from the headline figure: R2's storage and operation rates are the same worldwide and egress is zero everywhere, so serving Australia costs what serving anywhere costs. The caveat is placement rather than price, 'Oceania' is a best-effort location hint, not a contractual region. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--sydney_cost_aud |
| Storage $/TB/mo | $15/TB/mo | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--storage_price |
| Egress $/TB | $0/TB | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--egress_price |
| Egress cap (x stored) | Unlimited | Vendor-claimed | 2026-11-07 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--egress_cap_multiple |
| Class A $/M ops | $4.5/M ops | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--class_a_price |
| Class B $/M ops | $0.36/M ops | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--class_b_price |
| Min retention | 0ms | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/pricing/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--min_retention |
| Min billed object | 0 B | Inferred | 2026-07-23 | - | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--min_billed_object |
| S3 API coverage | 82% | Inferred | 2026-07-23 | https://developers.cloudflare.com/r2/api/s3/api/ | Object CRUD, multipart, SigV4 presigning, PutBucketLifecycleConfiguration and CORS all behave. Marked down from the 90 this row previously carried because Cloudflare's own compatibility table lists GetBucketVersioning and PutBucketVersioning as unimplemented, versioning is absent, not partial, alongside bucket policies, ACLs, the S3 notification API and the object-lock configuration APIs. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--s3_api_coverage |
| Presigned URLs | ● | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/api/s3/presigned-urls/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--presigned_urls |
| Multipart upload | ● | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/objects/multipart-objects/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--multipart_upload |
| Versioning | ○ | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/api/s3/api/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--versioning |
| Lifecycle rules | ● | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/buckets/object-lifecycles/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--lifecycle_rules |
| Event notifications | ● | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/buckets/event-notifications/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--event_notifications |
| CDN integration | free-bundled | Inferred | - | - | Cloudflare's CDN sits natively in front and the transfer is free either way. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--cdn_integration |
| Max object size | 5 TB | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/platform/limits/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--max_object_size |
| IAM granularity | 3 | Inferred | - | - | API tokens scoped by bucket and permission set, with optional TTL and IP filters. No policy conditions, no assumable roles. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--iam_granularity |
| Sydney region | ◐ | Inferred | - | - | The Oceania ('oc') location hint biases placement toward the region but is explicitly best-effort, not a contractual region. Hard jurisdictional restrictions exist for the EU, not for Australia. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--sydney_region |
| TTFB from Sydney | 45ms | Inferred | - | - | Cloudflare has Sydney PoPs; a cold read against an Oceania-hinted bucket typically lands in the 30-60 ms band. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--ttfb_sydney |
| Durability (nines) | 11 nines | Vendor-claimed | 2026-11-06 | https://developers.cloudflare.com/r2/reference/durability/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--durability_nines |
| Uptime SLA | 99.9% | Inferred | 2026-07-23 | - | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--uptime_sla |
| Object lock / WORM | ◐ | Inferred | - | - | Bucket-level retention locks exist; the full S3 Object Lock surface including compliance mode and per-object legal holds is not equivalent. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--object_lock |
| Replication model | multi-az | Inferred | - | - | Cloudflare does not publish its erasure-coding scheme or facility layout for R2, so this is an assumption from its durability claim. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--replication_model |
| Official MCP server | ● | Inferred | - | - | Cloudflare ships a family of remote MCP servers covering the developer platform, including bucket operations. | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--mcp_server |
| GA year | 2,022 | Vendor-claimed | 2026-11-06 | https://blog.cloudflare.com/r2-ga/ | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--ga_year |
| Positioning | Zero-egress object storage for teams already on Cloudflare's edge. | Inferred | - | - | - | https://toolweight.com/compare/s3-compatible-storage#cloudflare-r2--positioning |

**Verdict.** The default for read-heavy work, the only provider where egress stops being a line item.

## Alternatives

- [AWS S3](https://toolweight.com/tools/aws-s3), The API everything else copies, and by far the most expensive egress in this roster.
- [Backblaze B2](https://toolweight.com/tools/backblaze-b2), Cheap US and EU object storage with free egress up to three times stored volume.
- [Bunny Storage](https://toolweight.com/tools/bunny-storage), Edge storage built as a CDN origin, with its own API rather than a faithful S3 one.
- [DigitalOcean Spaces](https://toolweight.com/tools/digitalocean-spaces), Bundled object storage plus free CDN, priced as a flat base fee with overages.
- [Hetzner Object Storage](https://toolweight.com/tools/hetzner-object-storage), The cheapest credible S3 endpoint in Europe, with a deliberately thin feature set.
- [iDrive e2](https://toolweight.com/tools/idrive-e2), USD 4/TB S3-compatible storage with zero-egress marketing and a fair-use cap.
- [MinIO](https://toolweight.com/tools/minio), The self-hosted S3 reference implementation, your hardware, your bandwidth, your SLA.
- [Scaleway Object Storage](https://toolweight.com/tools/scaleway-object-storage), European-sovereign S3 storage with multi-AZ classes and a real IAM system.
- [Storj](https://toolweight.com/tools/storj), Decentralised erasure-coded storage: USD 4/TB stored, USD 7/TB egress, no regions.
- [Tigris](https://toolweight.com/tools/tigris), Globally distributed S3-compatible storage that caches objects near readers.
- [Wasabi](https://toolweight.com/tools/wasabi), Flat-rate hot storage with no egress or API fees, bounded by a fair-use cap.

## Licence and attribution

Data from Toolweight (https://toolweight.com), licensed CC-BY-4.0.

- Licence: [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)
- Canonical HTML: https://toolweight.com/tools/cloudflare-r2
- Machine-readable: https://toolweight.com/tools/cloudflare-r2.md · https://toolweight.com/api/v1 · https://toolweight.com/mcp
- Toolweight takes no affiliate revenue and sells no placements.
