Cloudflare R2 free tier in 2026: what you get and when to upgrade
Cloudflare R2 has one of the most generous free tiers in cloud storage. Unlike AWS S3, which limits its free tier to 12 months, or DigitalOcean Spaces, which has no free tier at all, R2 lets you store data and serve it indefinitely without paying a cent. No credit card required, no trial countdown ticking in the background.
But “free” always has boundaries. This guide breaks down exactly what R2’s free tier includes, what counts against your limits, how far you can stretch it and when it makes sense to start paying.
What the free tier includes
Every Cloudflare account gets R2’s free tier automatically. The monthly allowances are:
- 10 GB of storage. This is the total amount of data you can keep in your R2 buckets at any point during the month.
- 1 million Class A operations. These are write-type operations: uploading objects, listing bucket contents, creating multipart uploads and similar actions that modify or enumerate your data.
- 10 million Class B operations. These are read-type operations: downloading objects, reading metadata and HEAD requests.
- Zero egress fees. Data transferred out of R2 to the internet is free. Always. This applies to both the free tier and paid usage.
There is no time limit. The free tier does not expire after 12 months or convert to a trial. As long as you stay within these limits, you pay nothing.
Class A vs Class B operations explained
R2 groups API operations into two categories, and understanding the difference helps you predict whether you will hit your limits.
Class A operations are anything that writes data or lists objects. The most common ones are:
PutObject(uploading a file)CreateMultipartUpload,UploadPart,CompleteMultipartUploadCopyObjectListObjects,ListObjectsV2
Note that delete operations (DeleteObject, DeleteBucket, AbortMultipartUpload) are free and do not count against either Class A or Class B limits.
Class B operations are anything that reads data or checks metadata:
GetObject(downloading a file)HeadObject(checking if a file exists, reading its size or content type)GetObjectRange(partial downloads, byte-range requests)
A simple way to think about it: if the operation creates, changes or lists something, it is Class A. If it reads or checks something that already exists, it is Class B.
On the free tier you get 1 million Class A and 10 million Class B operations per month. For most small projects, the operation limits are rarely the bottleneck. Storage tends to be the constraint you hit first.
Why zero egress matters
Egress fees are the hidden cost of cloud storage. With AWS S3, every gigabyte downloaded by your users costs roughly $0.09. If you host images for a website, share files with clients or serve media content, egress can easily outpace your storage bill.
R2 eliminates this entirely. Whether you are on the free tier or paying for storage, you will never see an egress charge. This makes R2 particularly attractive for:
- Websites and apps that serve images, videos or downloads to end users.
- File sharing scenarios where clients or collaborators download deliverables repeatedly.
- Public assets like documentation sites, open-source release binaries or media libraries.
For context, serving 100 GB of downloads per month from S3 would cost approximately $9 in egress alone. From R2, it costs nothing.
What fits in the free tier
Ten gigabytes and a few million operations go further than you might expect. Here are some real-world scenarios that fit comfortably within R2’s free tier:
Personal projects and portfolios. A photographer’s portfolio with 500 high-resolution images at 10 MB each uses about 5 GB. Visitors browsing the site trigger Class B reads, and 10 million operations per month can handle substantial traffic. Pair this with a photo gallery tool and you have a professional setup at zero cost.
Development and staging environments. If you are building an application that stores user uploads, a dev environment rarely exceeds a few gigabytes. You get free storage for testing file uploads, presigned URLs and S3-compatible integrations without worrying about a bill.
Small business file sharing. A design agency sharing project deliverables with clients might store 3-5 GB of current project files. With shared links that support passwords and expiration dates, R2’s free tier covers the storage while Nubbo handles the access control.
Static site assets. Documentation sites, landing pages and blogs that serve images and PDFs from R2. The zero-egress model means traffic spikes do not translate into cost spikes.
Backup of critical documents. Storing important contracts, invoices or records that are rarely accessed but need to be available when needed. Low volume, low operations and well within the free limits.
When you will outgrow the free tier
The free tier stops being enough when one of three things happens: you store more than 10 GB, you exceed 1 million writes per month or you exceed 10 million reads per month. In practice, storage is almost always the first limit you hit.
Here are some signs that you are approaching the boundary:
Your project grows past the prototype phase. A media library, backup repository or file-sharing platform that started small will eventually cross 10 GB as real data accumulates.
You manage multiple projects in one account. Each project might fit in the free tier individually, but combined they push past the storage cap.
You start handling large files. Video production, RAW photography or dataset storage can eat through 10 GB quickly. A single 4K video project can exceed the entire free allowance.
You need Infrequent Access storage. R2 offers an Infrequent Access tier at $0.01 per GB per month (with a $0.01 per GB retrieval fee and a 30-day minimum storage duration), but there is no free tier for Infrequent Access. If you want to move cold data to a cheaper class, you will need to be on the paid plan.
What paid R2 costs
When you do outgrow the free tier, R2’s pricing remains competitive:
| Resource | Free tier | Paid rate |
|---|---|---|
| Storage | 10 GB | $0.015/GB-month |
| Class A operations (writes/lists) | 1M | $4.50 per million |
| Class B operations (reads) | 10M | $0.36 per million |
| Egress | Free | Free |
| Infrequent Access storage | Not available | $0.01/GB-month |
| Infrequent Access retrieval | Not available | $0.01/GB |
Some practical cost examples for paid usage:
- 50 GB stored with moderate usage: approximately $0.75 per month in storage plus a negligible amount for operations.
- 200 GB stored serving a busy website: roughly $3 per month. Remember, egress is still free regardless of how much data your visitors download.
- 1 TB stored for a media archive: about $15 per month, with no surprise egress charges even if you share files frequently.
The jump from free to paid is gentle. There is no minimum monthly charge like DigitalOcean Spaces ($5/month) and no minimum storage duration for the standard tier like Wasabi (90 days).
How R2 compares to other free tiers
R2 is not the only provider with a free or introductory offer, but the comparison favors it in most scenarios:
AWS S3 offers a free tier of 5 GB storage, 20,000 GET requests and 2,000 PUT requests per month, but only for the first 12 months after account creation. After that, you pay for everything. And egress is never free.
DigitalOcean Spaces has no free tier. The minimum is $5 per month, which includes 250 GB of storage and 1 TB of transfer. Good value if you need that capacity, but there is no way to start for free.
Wasabi offers a 30-day free trial with 1 TB of storage. After the trial, storage costs $6.99 per TB per month. No egress fees, but the 90-day minimum storage duration can catch you off guard if you delete data early.
For a deeper comparison of all four providers, see our full breakdown: AWS S3 vs Cloudflare R2 vs DigitalOcean Spaces vs Wasabi.
R2’s combination of a permanent free tier, zero egress and no credit card requirement makes it the easiest way to get started with S3-compatible cloud storage.
Manage your R2 buckets with Nubbo
Once you have an R2 bucket, whether on the free tier or paid, you need a way to work with your files beyond the Cloudflare dashboard.

Nubbo connects to your R2 account and gives you a full file browser, secure file sharing with passwords and expiration dates, photo and video galleries for visual content and file requests to receive uploads from others directly into your bucket.
Your files never pass through Nubbo’s servers. Every transfer happens directly between your browser and Cloudflare R2 using presigned URLs, so your data stays under your control.
Setting up the connection takes about two minutes. Follow our step-by-step guide: How to set up Cloudflare R2 with Nubbo.
Ready to put your R2 free tier to work? Create your free Nubbo account and connect your first bucket today.