◈
Editorial verdict
Choose R2 when Cloudflare delivery and direct-egress economics are central and the application can validate every required S3 operation against R2's compatibility matrix.345
Best for
- Cloudflare-centered applications serving stored objects through the same network
- Workloads where direct object-delivery transfer charges dominate storage-provider selection
- Teams using a verified subset of S3-compatible clients and operations
345Not ideal for
- Systems that require unverified S3 features, integrations, or exact behavior
- Workloads whose primary requirement is deep AWS-native service integration
- Products expecting object storage alone to solve upload authorization and application callbacks
345Main trade-offR2 can simplify Cloudflare delivery and transfer economics, but teams must treat compatibility, operations, and ecosystem breadth as explicit validation work.345
R2 is object storage. Its S3-compatible API is a documented compatibility layer, not a claim of complete S3 service or behavioral parity, and it is not a finished end-user upload workflow.34
For: Teams delivering objects through Cloudflare or seeking an S3-compatible object store with a different egress shape
- A required client operation or integration is absent from R2's compatibility matrix.
- The delivery architecture is already committed to Cloudflare Workers and Cloudflare caching.
- Data residency, jurisdiction, or support terms require a provider-specific review.
Why teams consider Cloudflare R2
- Cloudflare delivery fitR2 is designed to connect with Cloudflare's network and developer platform.34
- S3-compatible accessA documented S3 API subset supports familiar clients when the required operations are compatible.34
- Distinct transfer modelThe public pricing model separates storage and operations and documents no direct R2 egress charge.34
R2 publishes storage, Class A and Class B operation, retrieval, and related service dimensions. The no-direct-egress statement does not eliminate every possible network, transformation, request, or adjacent Cloudflare charge.5
Workload estimate
Usage based
Estimate storage class, operation classes, retrieval, and any adjacent delivery or processing services.5
- Primary meters
- Storage, operations, and retrieval dimensions5
- Compatibility gate
- Required S3 operations must be checked against the published compatibility page5
Cloudflare R2 vs alternatives
Amazon S3
- Choose when
- Choose S3 when AWS-native integration, regional options, and storage-control breadth are more important.
- Compared with Cloudflare R2
- The pricing and policy surface is more complex.12
Supabase Storage
- Choose when
- Choose it when storage authorization should share Supabase Auth and Postgres RLS context.
- Compared with Cloudflare R2
- The solution is more tightly coupled to the Supabase project.67
Backblaze B2
- Choose when
- Choose B2 for a cost-focused S3-compatible object store without making Cloudflare the application platform.
- Compared with Cloudflare R2
- Its native platform and regional breadth are narrower than hyperscalers.910
Official product and pricing
- Cloudflare R2 documentation
- R2 S3 API compatibility
- Cloudflare R2 pricing