Cloudflare R2

S3-API-compatible object storage from Cloudflare, with no egress fees and native bindings for Cloudflare Workers.

Works with AI agents:llms.txtMCP
Ask your AI about this, with this page as the source:ChatGPT ↗Claude ↗Perplexity ↗

Cloudflare R2 is object storage for the files an app keeps and serves: user uploads, images, backups, datasets. It speaks the S3 API, so existing S3 SDKs and tools work once pointed at an R2 endpoint, and serving data to the internet carries no egress fee.

You reach a bucket three ways: the S3-compatible endpoint for your account (the region is always auto), a binding inside a Cloudflare Worker that exposes put, get and list with no credentials in code, or the REST API behind the dashboard and the Wrangler CLI. Browser uploads use presigned URLs that your server signs locally, valid for up to seven days.

Buckets are private by default and can be published on a custom domain that sits behind Cloudflare's cache, firewall and access rules. There is an Infrequent Access class for cold data, event notifications to a Queue when objects change, and two migration tools: Super Slurper copies a whole bucket from S3, Google Cloud Storage or another S3-compatible store, and Sippy copies objects lazily as they are first requested. Data is placed in a region near where the bucket was created or one you hint; a jurisdiction setting pins it to the EU or the US.

Not all of S3 is there: object versioning, object lock, bucket policies and ACLs are not implemented, so access is managed with API tokens. The free r2.dev URL is rate-limited and meant for testing only.

Where it fits

How Cloudflare R2 itself is built

1 tools, from its own code, website and Product Hunt page.

Who uses it

4 makers' products, each linked to the source that shows it.

The maker says so 2Subprocessor list 2How evidence is collected →
MeliesMelies is an AI filmmaking studio for writing a script and generating the images, video,…

“Cloudflare R2 si the best way to store data. Cost-effective, S3-compatible, and no egress fees—perfect for scaling projects.”

File StorageMaker says so · source ↗
PayPingTracks subscriptions and recurring bills, sends renewal reminders and shows spending das…

“For S3, super helpful and useful. First time used it, was always weirded out on S3, idk why, but cloudflare made it really easy to setup and manage the receipt upload functionality on PayPing.”

File StorageMaker says so · source ↗

What makers say

2 makers on why they use Cloudflare R2, in their own words on Product Hunt.

For S3, super helpful and useful. First time used it, was always weirded out on S3, idk why, but cloudflare made it really easy to setup and manage the receipt upload functionality on PayPing.
PayPingSep 2026 ↗
Cloudflare R2 si the best way to store data. Cost-effective, S3-compatible, and no egress fees—perfect for scaling projects.
MeliesSep 2026 ↗

Loved and watch-outs

Themes that recur in makers' words and Hacker News comments, each linked to what it summarises.

Most loved
  • No egress fees make it cheap to serve heavy downloads, from screen recordings to petabytes of model files. PHHNHN 2HN 3
  • It is S3-compatible and simple to set up, so existing S3 tools and upload libraries work with it. PHHNHN 2
  • Static sites and small projects hosted on it often run for near-zero cost. HNHN 2HN 3HN 4
  • It works well as an offsite backup target for tools like restic. HNHN 2HN 3HN 4
Watch-outs
  • Some networks block Cloudflare wholesale, such as Spain during football matches, so assets fail to load for some users. HNHN 2HN 3

Reliability and open issues

Incidents on its status page50+ in the last 90 days · 50+ in the last yearFrom its own status page, 2026-10-02. Vendors decide what they post; one page can cover several products.

Alternatives to Cloudflare R2

All alternatives by situation →

Questions makers ask about Cloudflare R2

Will my existing S3 code work with R2?

Mostly. R2 implements the S3 API at an account-specific endpoint and treats the region as auto (an empty region or us-east-1 is accepted as an alias), but some S3 operations and options are not implemented, so check the compatibility table for the calls you use. source ↗

Can I keep my data in the EU?

Yes. A bucket created with the EU jurisdiction is guaranteed to store its objects there; a US jurisdiction also exists, and FedRAMP is available to Enterprise customers. Location hints, by contrast, are best effort only. source ↗

Can I serve production traffic from the r2.dev URL?

No. The r2.dev subdomain is meant for testing and is rate-limited, returning 429 errors at a few hundred requests per second; connect a custom domain for production. source ↗

How do I move my files over from S3?

Super Slurper does a one-time copy from Amazon S3, Google Cloud Storage or any S3-compatible provider. Sippy instead copies each object into R2 the first time it is requested, so you avoid paying egress for a bulk transfer up front. source ↗

Does R2 keep previous versions of an object?

No. The S3 versioning operations are listed as not implemented, as are object lock and bucket policies. source ↗

How big can a file be?

Up to just under 5 TiB per object. A single upload request is capped at just under 5 GiB, so larger files must use multipart upload, and the same key can be written at most once per second. source ↗

Can users upload straight from the browser?

Yes, with presigned URLs. Your server generates them with its R2 credentials without calling R2, scoped to one operation on one object, with an expiry between one second and seven days. source ↗

Is Cloudflare R2 free?

Yes — there is a free tier a small product can run on; paid use starts at $0.015/GB-month. source ↗

Is Cloudflare R2 open source or self-hostable?

Not open source, and hosted only.

Can AI coding agents work with Cloudflare R2?

It serves an llms.txt docs index; it has an official MCP server (com.cloudflare.mcp/mcp).

Who uses Cloudflare R2?

4 makers' products we track, each with a source. source ↗