Cloudflare R2 pricing in 2026 is built around four meters: stored data, Class A operations, Class B operations, and—only for Infrequent Access—data retrieval. Standard storage costs $0.015/GB-month, Infrequent Access costs $0.01/GB-month, and direct internet egress from R2 is free. The Standard free tier includes 10 GB-month of storage, 1 million Class A operations, and 10 million Class B operations every month.
For most buyers, the important detail is that R2 is not simply “$0.015 per GB.” Request volume can become the larger part of the bill. Raff Object Storage uses a different model: $7/month includes 100 GB storage, 1 TB egress, and no separate API request charges. Raff is materially more expensive for storage-heavy, low-request workloads, while it can be cheaper for request-heavy workloads.
Cloudflare R2 pricing at a glance
| R2 meter | Standard | Infrequent Access |
|---|
| Storage | $0.015/GB-month | $0.01/GB-month |
| Class A operations | $4.50/million | $9.00/million |
| Class B operations | $0.36/million | $0.90/million |
| Retrieval processing | None | $0.01/GB |
| Internet egress | Free | Free |
| Minimum storage duration | None | 30 days |
| Free tier | Yes | No |
Cloudflare's free tier applies only to Standard storage. It does not apply to Infrequent Access.
Cloudflare also rounds each billable meter up to the next billing unit. For example, 1.1 GB-month is billed as 2 GB-months, and 1,000,001 operations are billed as 2 million operations. That rounding matters most for small workloads close to a billing boundary.
Cloudflare R2 free tier in 2026
The current R2 Standard free tier includes, every month:
- 10 GB-month of Standard storage
- 1 million Class A operations
- 10 million Class B operations
- Free direct internet egress
The free tier resets monthly and applies only to Standard storage. Infrequent Access does not receive the 10 GB storage allowance or the operation allowances.
This makes R2 attractive for small sites, prototypes, static assets, and applications whose reads stay below the included Class B allowance.
The common mistake is assuming that “free egress” means serving any amount of traffic is completely free. R2 itself does not charge egress bandwidth, but reads still count as Class B operations. Other Cloudflare products connected to R2 can also have their own pricing.
How much does Cloudflare R2 cost?
For Standard storage, a useful simplified formula is:
Monthly R2 cost
= billable storage
+ billable Class A operations
+ billable Class B operations
Where, after the Standard free tier:
Storage: $0.015 per GB-month
Class A: $4.50 per million operations
Class B: $0.36 per million operations
Egress: $0
Cloudflare rounds usage up to the next billing unit, so use the official R2 calculator for exact production estimates.
100 GB stored with light request volume
If you store 100 GB for the month in Standard storage and stay inside the free operation allowances:
100 GB - 10 GB free = 90 GB billable
90 × $0.015 = $1.35/month
Estimated R2 cost: $1.35/month.
Raff Object Storage is $7/month for the same 100 GB capacity, but that $7 also includes 1 TB egress and no separate request meter.
For a storage-led workload with light requests, R2 wins clearly on price.
1,000 GB stored with light request volume
For 1,000 GB of R2 Standard storage:
1,000 GB - 10 GB free = 990 GB billable
990 × $0.015 = $14.85/month
Estimated R2 cost: $14.85/month.
Raff would cost $70/month for 1,000 GB of storage before any egress overage.
Again, R2 is much cheaper when stored capacity is the main cost driver.
100 GB with 300 million reads per month
This is where the model changes.
At 100 GB, storage is still about $1.35. If the bucket receives 300 million Class B reads:
300M reads - 10M free = 290M billable reads
290 × $0.36 = $104.40
Storage = $1.35
Total ≈ $105.75/month
Raff remains $7/month at 100 GB because API requests are not metered separately.
This is the key crossover: R2 is cheaper for storage-heavy workloads; Raff can be cheaper for request-heavy workloads.
100 GB with 50 million Class A operations
Class A operations are much more expensive than Class B operations.
50M Class A - 1M free = 49M billable
49 × $4.50 = $220.50
Storage = $1.35
Total ≈ $221.85/month
Raff remains $7 at 100 GB because there is no separate Class A/Class B billing model.
Applications that frequently list objects, write many small files, perform multipart workflows, or generate large volumes of metadata operations should model these request costs before choosing a provider.
Cloudflare R2 pricing calculator: what to include
When estimating R2, use more than stored GB. A useful calculator input set is:
- average GB-month stored;
- Standard vs Infrequent Access storage;
- monthly Class A operations;
- monthly Class B operations;
- GB retrieved from Infrequent Access;
- whether objects may be deleted before the 30-day IA minimum;
- costs from any other Cloudflare service connected to the bucket.
Cloudflare provides an official R2 pricing calculator. It is particularly useful because R2 rounds billable usage to whole units and because operation count can dominate low-storage workloads.
For application planning, also separate object count from stored capacity. One 100 GB file and one million 100 KB objects can have similar storage footprints but very different request patterns.
Cloudflare R2 vs Raff Object Storage: quick cost comparison
| Scenario | Raff Object Storage | Cloudflare R2 Standard | Better fit |
|---|
| 100 GB, light operations | $7.00/mo | About $1.35/mo | R2 |
| 500 GB, light operations | $35.00/mo | About $7.35/mo | R2 |
| 1,000 GB, light operations | $70.00/mo | About $14.85/mo | R2 |
| 100 GB, 300M Class B reads | $7.00/mo | About $105.75/mo | Raff |
| 100 GB, 50M Class A operations | $7.00/mo | About $221.85/mo | Raff |
These examples use R2 Standard, apply the monthly Standard free tier, and assume no other billable operation classes unless shown.
The table is not meant to claim that Raff is cheaper overall. It shows that the two products optimize for different billing patterns.
Raff Object Storage pricing
Raff Object Storage uses a simpler bundle:
- $7/month base price
- 100 GB storage included
- 1 TB egress included each month
- API requests are not separately metered
- $0.07/GB-month for storage above 100 GB
- $0.01/GB for egress above 1 TB
- Free inbound traffic
There are no Class A or Class B request meters.
That makes Raff easier to forecast for backup tooling, application uploads, object browsers, sync jobs, or workloads that generate many small API calls.
The trade-off is important: Raff's raw per-GB storage price is higher than R2. If your workload is mostly stored capacity with modest request volume or very high public egress, R2 is usually the cheaper choice.
Is Cloudflare R2 egress really free?
For R2 itself, direct egress to the internet is free for both Standard and Infrequent Access storage.
Cloudflare specifically documents free R2 egress through the Workers API, S3 API, and r2.dev domains. The important caveat is that other metered Cloudflare services connected to R2 can still generate their own charges.
R2 therefore has a major advantage for:
- public asset delivery;
- software downloads;
- media files;
- large datasets downloaded frequently;
- migration architectures where outbound bandwidth would otherwise dominate the bill.
Raff includes 1 TB egress in the $7 bundle and then charges $0.01/GB.
| Monthly internet egress | Raff incremental egress charge | R2 egress charge |
|---|
| 1 TB | $0 | $0 |
| 5 TB | $40.96 | $0 |
| 10 TB | $92.16 | $0 |
| 50 TB | $501.76 | $0 |
For bandwidth-heavy public delivery, R2 is the stronger economic choice.
Standard vs Infrequent Access pricing
R2 Infrequent Access lowers the storage rate from $0.015 to $0.01 per GB-month, but it is not simply a cheaper version of Standard.
Infrequent Access adds:
- Class A operations at $9.00/million;
- Class B operations at $0.90/million;
- $0.01/GB retrieval processing;
- a 30-day minimum storage duration;
- no Standard free-tier allowances.
Use Infrequent Access for objects that are genuinely cold and remain stored long enough for the lower capacity price to offset retrieval and request costs.
Do not use it simply because $0.01/GB looks lower on the pricing table.
What are Class A and Class B operations?
Cloudflare groups R2 requests into operation classes.
Class A operations generally mutate state or perform management work. Examples include PutObject, ListObjects, multipart upload operations, copies, and lifecycle configuration changes.
Class B operations generally read existing data or metadata. Examples include GetObject, HeadObject, and several bucket metadata reads.
Deletes and some abort operations are free.
For asset-heavy sites, Class B reads are usually the meter to watch. For upload-heavy systems, backup tools, data ingest, or object-management workflows, Class A volume can become significant.
Feature comparison: Cloudflare R2 vs Raff
Pricing is only part of the decision.
| Feature | Raff Object Storage | Cloudflare R2 |
|---|
| S3-compatible API | Yes | Yes |
| Standard storage class | Yes | Yes |
| Infrequent Access class | No | Yes |
| Direct internet egress | 1 TB included, then $0.01/GB | Free |
| Request charges | None | Class A / Class B after free tier |
| Free storage tier | No separate free tier | 10 GB-month Standard |
| Lifecycle rules | Not currently exposed | Yes |
| Bucket locks | Not currently exposed | Yes, Cloudflare bucket locks |
| Native S3 bucket versioning | No | Not implemented in the R2 S3 compatibility matrix |
| Presigned URLs | Yes | Yes |
| Multipart uploads | Yes | Yes |
| Workers integration | Separate Raff compute products | Native R2 Workers binding |
| Public placement options | us-east | Automatic placement, location hints, jurisdiction controls |
R2 also publishes an eleven-nines annual durability design target and documents redundancy across multiple storage facilities within a geographic region. Raff publishes a 99.9% platform SLA but does not publish an equivalent object-durability target.
If a procurement or recovery policy requires a published durability target, R2 has the stronger documented position.
Is R2 really S3-compatible?
R2 implements a broad S3-compatible API and works with many AWS S3 SDKs and tools by changing the endpoint and credentials.
It is not full Amazon S3 parity. Cloudflare publishes a compatibility matrix showing implemented and unsupported operations. For example, native S3 bucket versioning operations such as PutBucketVersioning remain unsupported, and S3 Object Lock APIs are not equivalent to Cloudflare's separate Bucket Locks feature.
Raff is also S3-compatible for common object-storage workflows, including AWS CLI, SDKs, rclone, s3cmd, multipart uploads, and presigned URLs.
Before migrating stateful storage, test the exact API operations your application depends on rather than treating “S3-compatible” as “identical to S3.”
When Cloudflare R2 is the better choice
Choose R2 when:
- raw storage price is the primary cost driver;
- public internet egress is high;
- you need a free tier for a small workload;
- you use Cloudflare Workers or Cloudflare-native delivery;
- lifecycle rules or Cloudflare Bucket Locks matter;
- you need broader placement and jurisdiction controls;
- you want a published eleven-nines durability design target.
For large, low-request buckets, R2's pricing advantage is substantial.
When Raff is the better choice
Choose Raff when:
- request volume is high or difficult to predict;
- you want one fixed base bundle instead of separate operation classes;
- 100 GB storage and 1 TB egress fit the workload;
- your application infrastructure is already on Raff;
- you want storage, compute, networking, databases, and support under one account;
- you do not need R2-specific lifecycle, placement, or Cloudflare Workers integrations.
The strongest Raff case is not “cheaper storage.” It is simpler request economics and fewer billing dimensions.
Migrating between R2 and Raff
Both products use S3-compatible workflows, so the data path is familiar, but feature parity still needs review.
A safe migration plan is:
- inventory buckets, object counts, total bytes, storage classes, lifecycle rules, bucket locks, CORS, access keys, and application dependencies;
- create the target bucket and credentials;
- verify required S3 operations on the target provider;
- copy objects with rclone, an S3 SDK, or another S3-compatible migration tool;
- preserve content types, cache headers, object keys, and metadata;
- validate object counts and checksums;
- test presigned URLs, uploads, downloads, CORS, and permissions;
- cut over the application endpoint with a rollback window;
- remove the old bucket only after new writes and reads are verified.
If the application continues writing during migration, plan a final synchronization or controlled write freeze before cutover.
R2 Infrequent Access objects can also incur retrieval and minimum-duration charges during migration, so include those costs in the plan.
Frequently asked questions
How much is Cloudflare R2?
R2 Standard storage is $0.015/GB-month after the 10 GB Standard free tier. Standard Class A operations are $4.50/million after 1 million free monthly operations, and Class B operations are $0.36/million after 10 million free monthly operations. Direct R2 internet egress is free.
Is Cloudflare R2 free?
R2 has a monthly Standard free tier, not an unlimited free plan. It includes 10 GB-month storage, 1 million Class A operations, 10 million Class B operations, and free direct egress. The free tier does not apply to Infrequent Access storage.
Why is Cloudflare R2 so cheap?
R2 prices storage aggressively and does not charge direct internet egress. It still charges for Class A and Class B operations, so request-heavy workloads can cost much more than the storage price alone suggests.
Is R2 egress really free?
Direct egress from R2 is free. Cloudflare notes that other metered services connected to R2 may still have their own charges.
What is the Cloudflare R2 free storage limit?
The Standard free tier includes 10 GB-month of storage per month. Usage above that is billed at $0.015/GB-month. Infrequent Access does not receive the free storage allowance.
Is R2 cheaper than Raff Object Storage?
For storage-heavy, low-request workloads, usually yes. At 100 GB with light operations, R2 is about $1.35/month versus Raff at $7. For request-heavy workloads, Raff can be cheaper because it does not charge per API request.
Does Cloudflare R2 charge for reads?
Yes, after the free allowance. Standard Class B operations, which include common reads such as GetObject, cost $0.36 per million requests after 10 million free operations each month.
Does Cloudflare R2 have a pricing calculator?
Yes. Cloudflare provides an official R2 pricing calculator. Use it for exact estimates because storage, requests, storage class, retrieval, and billable-unit rounding all affect the total.
Sources
Conclusion: Cloudflare R2 pricing vs Raff
Cloudflare R2 is one of the lowest-cost mainstream S3-compatible options when stored capacity and public egress dominate the workload. Standard storage is $0.015/GB-month, direct egress is free, and the monthly free tier covers 10 GB-month plus substantial request allowances.
The trade-off is request-based billing. Class A and Class B operations can become the largest part of the bill for asset-heavy, backup, synchronization, or metadata-intensive workloads.
Raff takes the opposite approach: $7/month includes 100 GB storage, 1 TB egress, and no separate API request charges.
Choose Cloudflare R2 when low per-GB storage cost, free egress, Cloudflare integrations, or lifecycle controls matter most. Choose Raff when request volume is hard to forecast and a simpler bundled bill is more valuable than the lowest raw storage price.