Short answer: yes, Cloudflare R2 has a permanent free tier. Every month you get 10 GB-month of Standard storage, 1 million Class A operations and 10 million Class B operations at no cost, and egress to the internet is free whether you are on the free tier or not. Past the allowance, Standard storage costs $0.015 per GB-month. All figures below come from Cloudflare’s official pricing and limits pages, as of October 2026.
Cloudflare R2 pricing at a glance
| Item | Free every month | Standard (paid) | Infrequent Access |
|---|---|---|---|
| Storage | 10 GB-month | $0.015 per GB-month | $0.01 per GB-month |
| Class A operations | 1 million | $4.50 per million | $9.00 per million |
| Class B operations | 10 million | $0.36 per million | $0.90 per million |
| Data retrieval | Free | Free | $0.01 per GB |
| Egress to the internet | Free | Free | Free |
| Minimum storage duration | None | None | 30 days |
The free allowance applies only to Standard storage. Anything you put in Infrequent Access is billed from the first byte.
What is Cloudflare R2?
R2 is Cloudflare’s object storage. It speaks the S3 API, so tools and SDKs built for Amazon S3 work with it once you point them at your R2 endpoint, and it also has its own Workers API. Its selling point is pricing: no egress fees at all, a simple per-GB storage price and a free tier that never expires. If you are weighing it against other providers, the S3 vs R2 vs Spaces vs Wasabi vs B2 comparison puts the numbers side by side.
Is Cloudflare R2 free? How the free tier works
The free tier is a monthly allowance, not a trial and not a credit. It resets every billing month with no end date. Three meters matter:
- Storage: 10 GB-month of Standard storage.
- Class A operations: 1 million per month. These write, change or list.
- Class B operations: 10 million per month. These read.
Egress is not on the list because it is never charged. Data retrieval is free on Standard storage too.
How R2 measures storage
R2 bills storage in GB-month: the average of each day’s peak storage over a 30-day period. Cloudflare’s own example is 1 GB kept for 5 days and then 3 GB for the remaining 25 days, which comes to about 2.66 GB-month.
So 10 GB is not a hard cap at any moment. A short spike above 10 GB does not cost anything by itself; what counts is the monthly average. Usage is rounded up to the next billing unit, so 1.1 billable GB-month is charged as 2. At $0.015 per unit that is a cent or two, but it explains small charges when you were only just over.
Class A vs Class B operations
R2 sorts API calls into two classes with very different prices.
Class A (writes, lists and configuration):
PutObject,CopyObjectand the multipart calls (CreateMultipartUpload,UploadPart,UploadPartCopy,CompleteMultipartUpload,ListMultipartUploads,ListParts)ListObjectsandListBuckets- Bucket writes such as
PutBucket,PutBucketCors,PutBucketEncryptionandPutBucketLifecycleConfiguration - Lifecycle transitions between storage classes
Class B (reads):
GetObjectandHeadObjectHeadBucket,GetBucketLocation,GetBucketCors,GetBucketEncryption,GetBucketLifecycleConfigurationandUsageSummary
Free: DeleteObject, DeleteBucket and AbortMultipartUpload, plus any request rejected with HTTP 401.
Listing is the detail that surprises people. ListObjects is Class A, priced like an upload, so a tool that lists a bucket over and over spends the 1 million allowance far faster than one that mostly reads files. Operations round up too: 1,000,001 billable operations are charged as 2 million.
Cloudflare R2 free tier limits
Two kinds of limits get mixed up in searches.
The billing limits are the three allowances above: 10 GB-month, 1 million Class A and 10 million Class B per month. Go past them and you pay; nothing is blocked.
The technical limits are the same on free and paid usage:
| Limit | Value |
|---|---|
| Buckets per account | 1,000,000 |
| Data and objects per bucket | Unlimited |
| Maximum object size | 4.995 TiB |
| Maximum single upload or part | 4.995 GiB |
| Parts per multipart upload | 10,000 |
| Object key length | 1,024 bytes |
| Writes to the same key | 1 per second |
| Bucket management operations | 50 per second per bucket |
| Custom domains per bucket | 100 |
One more limit worth knowing: the public r2.dev URL is meant for testing. Cloudflare rate limits it (roughly hundreds of requests per second) and may throttle bandwidth, and recommends a custom domain for production traffic.
Zero egress fees: why it changes the math
On most object storage, the price per GB stored is only part of the bill, because downloads to the internet are metered. Amazon S3, for example, gives 100 GB of free data transfer out per month across all AWS services and charges per GB after that (see Amazon S3 pricing in 2026).
R2 charges nothing for egress, through the S3 API, the Workers API or r2.dev, on Standard and on Infrequent Access. If you share files, host images or deliver video, how much people download no longer moves the bill. What does move it is the number of reads: every download is one Class B operation.
What Cloudflare R2 costs after the free tier
With light operations that stay inside the free allowances, the bill is only storage:
| Stored on average | Billable GB-month | Monthly cost |
|---|---|---|
| 10 GB | 0 | $0.00 |
| 50 GB | 40 | $0.60 |
| 200 GB | 190 | $2.85 |
| 1 TB (1,000 GB) | 990 | $14.85 |
| 5 TB (5,000 GB) | 4,990 | $74.85 |
The 1 TB row is Cloudflare’s own example: 1,000 objects of 1 GB, each read 1,000 times in the month. That is 1 million reads, inside the free 10 million, so the whole bill is $14.85 even though 1 TB was downloaded a thousand times over.
Operations become the bill when you have many small files and heavy traffic. Cloudflare’s asset hosting example has about 10 GB of small files (free) read 10 million times a day. Over 30 days that is 300 million Class B operations, 290 million above the allowance, so $104.40 for the month. Storage and egress are free; reads are the whole cost.
Writes follow the same logic. An app that uploads 2 million objects a month uses 1 million billable Class A operations: $4.50.
Infrequent Access
Infrequent Access is cheaper to keep and more expensive to touch: $0.01 per GB-month, $9.00 per million Class A, $0.90 per million Class B and $0.01 per GB retrieved. Objects deleted, moved or replaced before 30 days are still billed for the full 30 days. It suits backups and archives you rarely open, not files you share. Cloudflare’s example: 1 TB stored for 5 days and read 1,000 times per object costs $29.90, against $14.85 on Standard for a full month.
What fits in the free tier
Realistic cases that stay at $0:
- A personal archive of documents and photos under 10 GB that you open now and then.
- A development bucket for an app that handles uploads, where you test presigned URLs and multipart uploads.
- A folder of files you share through download links with a handful of people. Downloads are free egress and the reads stay far below 10 million.
- Static assets for a small site with moderate traffic.
You leave the free tier when average storage passes 10 GB (the most common reason, and the cheapest), when you write or list a lot or when a popular file set passes 10 million reads a month.
How R2 compares with other free offers
- Amazon S3: new AWS accounts get up to $200 in Free Tier credits, and an account on the Free plan closes after 6 months or when the credits run out. It is a budget, not a permanent S3 allowance. Details in Amazon S3 pricing in 2026.
- Backblaze B2: the first 10 GB of storage are always free, and egress is free up to three times your average stored data. See Backblaze B2 pricing and free tier.
- DigitalOcean Spaces: no free allowance; it is a monthly subscription. See DigitalOcean Spaces pricing.
- Wasabi: a flat price per TB aimed at larger volumes rather than a small free allowance. See Wasabi pricing.
For a small project, R2 is usually the easiest place to start at $0, because the allowance never expires and egress is free on top of it.
Using R2 with Nubbo
Nubbo connects to an R2 bucket with an access key, its secret and your Cloudflare Account ID, and gives you a file browser, share links with password, expiry and download limits, galleries and file requests on top of it. A free-tier bucket works exactly like a paid one. Here is how that use shows up against your allowance:
- Uploads and single-file downloads go straight between the browser and R2 through presigned URLs. Uploads are Class A (files from 100 MB use several multipart calls), downloads are Class B and egress is free.
- Nubbo keeps an index of names and sizes, so browsing does not list the bucket on every click. A folder is listed again when you open it after a minute, and background syncs list it periodically. Those lists are Class A.
- Thumbnails and watermarked gallery previews are written to your own bucket under
.nubbo-thumbs/, so they use a little storage and a few writes. - Deleted items stay in the bucket for 30 days in Nubbo’s trash before they are purged, so they count toward storage until then.
For a small personal bucket, all of this sits comfortably inside the free tier.
Frequently asked questions
Is Cloudflare R2 free?
Up to a point, and every month. Each Cloudflare account gets 10 GB-month of R2 Standard storage, 1 million Class A operations and 10 million Class B operations free per month, and egress to the internet is always free. You only pay for usage above those allowances.
Does the Cloudflare R2 free tier expire?
No. It is a monthly allowance, not a trial. It resets every billing month and has no end date.
What are the Cloudflare R2 free tier limits?
10 GB-month of Standard storage, 1 million Class A operations (writes and lists) and 10 million Class B operations (reads) per month. Infrequent Access storage is not covered. Technical limits are the same for free and paid usage: objects up to about 5 TiB, single uploads up to about 5 GiB and up to 1,000,000 buckets per account.
Does Cloudflare R2 really have zero egress fees?
Yes. Cloudflare states that egress from R2 is free through the S3 API, the Workers API and r2.dev domains, for both Standard and Infrequent Access. Other metered Cloudflare services you attach to a bucket can charge for their own use.
How much does Cloudflare R2 cost after the free tier?
Standard storage is $0.015 per GB-month, Class A operations $4.50 per million and Class B operations $0.36 per million. Infrequent Access is $0.01 per GB-month, $9.00 and $0.90 per million operations, plus $0.01 per GB retrieved and a 30-day minimum.
Do deletes count against my R2 operations?
No. DeleteObject, DeleteBucket and AbortMultipartUpload are free, and requests rejected because the caller lacks permission (HTTP 401) are not charged.
Can I use a free-tier R2 bucket with Nubbo?
Yes. Nubbo works the same with a free or a paid R2 bucket. You need an R2 access key, its secret and your Cloudflare Account ID. The Nubbo Free plan connects up to two buckets.
Sources
Prices and limits come from the official pages below. Providers change them, so check before you commit.