Skip to Content

Cloudflare R2 Storage Pricing 2026: Complete Guide with Calculator

Cloudflare R2 in 2026, with current Standard and Infrequent Access prices, free-tier limits, egress rules and a practical cost calculator.
2026-05-11 15:07:30 Updated 2026-08-19 22:31:51.424824 — min read 1,081 views
Cloudflare R2 Storage Pricing 2026: Complete Guide with Calculator
“Cloudflare R2 pricing 2026 is based on storage, Class A operations and Class B operations. Standard storage costs $0.015 per GB-month, Infrequent Access costs $0.01, and R2 charges no egress bandwidth fee. That does not make every request free. Operations, retrieval, minimum-duration rules, Workers and other connected services can still affect the bill.

What You'll Learn

  • How Cloudflare R2 Standard and Infrequent Access pricing works in 2026.
  • Why zero egress is valuable but does not mean zero total cost.
  • How to calculate storage, Class A, Class B and retrieval charges.
  • When R2, public buckets and S3 compatibility make sense for an Indian project.

Cloudflare R2 pricing 2026 is often reduced to one attractive sentence: storage at $0.015 per GB-month and no egress fees. That sentence is true but incomplete. R2 also bills API operations, uses different rates for Standard and Infrequent Access storage, rounds billable usage up to billing units and can add retrieval charges for colder data.

R2 is object storage, not a magical free CDN. You can connect a bucket to a custom domain and use Cloudflare Cache, or expose a development URL through r2.dev. The cache, Workers, WAF, access-control and downstream services around the bucket are separate parts of the architecture. The sensible question is not whether R2 is cheap in the abstract. It is whether your read pattern, write pattern, storage duration and delivery path match its billing model.

This guide uses the current Cloudflare R2 pricing documentation, storage-class documentation, public-bucket documentation and S3 API compatibility page reviewed in August 2026. Prices and supported features can change, so treat the provider pages as the final authority before a migration.

What is Cloudflare R2?

Cloudflare R2 is an object storage service for files such as images, video, backups, logs, datasets, application assets and user uploads. Objects live inside buckets and can be accessed through Cloudflare APIs, the S3-compatible API or a public delivery path that you configure deliberately.

R2 separates the cost of storing and operating on objects from the cost of transferring data out to the Internet. Cloudflare’s pricing page says there are no charges for egress bandwidth for any storage class. That is useful for file-heavy applications because a large amount of data delivered to users does not create an R2 egress line item.

The missing detail is that a download is still an operation. A GetObject request is a Class B operation, and Class B operations have a price after the Standard free allowance is used. If the object is served through a custom domain, Cloudflare Cache may reduce repeated reads reaching R2, but cache behavior must be configured and measured. “Free egress” and “free delivery” are not interchangeable phrases.

For an India-focused site, R2 can be useful for media, backups and user-generated files. It does not automatically place every object in an Indian data centre or make dynamic application requests fast. Check the storage location and data-handling requirements for the workload, then test the delivery path from the networks that matter.

Cloudflare R2 pricing in 2026

Billing itemStandard storageInfrequent AccessHow to read it
Storage$0.015 per GB-month$0.01 per GB-monthStorage volume and time are billed together
Class A operations$4.50 per million requests$9.00 per million requestsOften write, list, copy and multipart operations
Class B operations$0.36 per million requests$0.90 per million requestsOften reads and metadata operations
Data retrievalNone$0.01 per GBApplies when data is retrieved from Infrequent Access
Egress to the InternetFreeFreeMetered connected services can still have their own charges

Cloudflare uses GB-month rather than a simple one-time storage number. The pricing documentation explains that storage is calculated from average peak storage per day over the billing period. If you store 1 GB for five days and 3 GB for the next 25 days, the billable average is not 3 GB for the entire month.

Cloudflare also rounds usage up to the next billing unit. One million and one operations can be billed as two million operations. A storage calculation of 1.1 GB-month can be billed as 2 GB-months. That rounding rule is easy to ignore in a spreadsheet and unpleasant to discover in production.

Standard storage has no minimum storage duration. Infrequent Access has a 30-day minimum. If an IA object is deleted or moved after five days, the minimum-duration rule can still leave the full 30-day storage quantity on the bill. Lower storage price does not automatically mean lower total cost.

What is included in the R2 free tier?

The current free tier applies to Standard storage. It includes 10 GB-month of storage per month, 1 million Class A operations and 10 million Class B operations. Egress remains free. The free tier does not apply to Infrequent Access storage, so putting archive objects into IA does not make their storage and operations free.

Monthly free allowanceAmountWhat can consume it
Standard storage10 GB-monthAverage billable Standard storage
Class A operations1 million requestsWrites, lists, copies, multipart operations and related mutations
Class B operations10 million requestsReads, head requests and other read-oriented operations
EgressFreeData transfer from R2 to the Internet, subject to connected-service caveats

A small prototype can therefore remain inexpensive, but “free” depends on the request pattern. A site that reads one large object occasionally may stay inside the operation allowance. A thumbnail service that performs millions of small reads, repeated metadata checks or cache misses can consume Class B operations much sooner than the storage number suggests.

How to calculate an R2 monthly bill

A practical Standard-storage estimate can use this structure:

Monthly R2 estimate = storage GB-month × $0.015 + billable Class A operations ÷ 1,000,000 × $4.50 + billable Class B operations ÷ 1,000,000 × $0.36.

For Infrequent Access, replace the storage and operation rates, add retrieved GB × $0.01 and apply the 30-day minimum duration. Then add any Workers, Cache, WAF, image-processing, logging or other connected-service charges that sit around the bucket.

Example workloadCalculationEstimated R2 line items
100 GB Standard, 1M writes, 10M reads90 billable GB-month after free tier, operations within free allowances$1.35 storage, $0 operations, $0 egress
1,000 GB Standard, 2M writes, 50M reads990 GB-month + 1M billable Class A + 40M billable Class B$14.85 + $4.50 + $14.40 = $33.75
1,000 GB IA, 1M writes, 10M reads, 200 GB retrievedNo Standard free tier, IA storage + IA operations + retrieval, with 30-day minimum$10.00 + $9.00 + $9.00 + $2.00 = $30.00

These are illustrative R2 charges, not a promised invoice. The first example assumes 100 GB remains stored through the billing period and that the 1 million writes and 10 million reads are covered by the Standard free tier. The second uses 1,000 GB-month rather than 1,024 GiB and assumes all operations are billable after allowances. The third assumes the data is charged for the full IA minimum period.

The R2 pricing calculator is useful for a first pass, but a production estimate should include the shape of the traffic. Count object writes, list operations, metadata calls, retries, multipart uploads, image transforms and cache misses. A calculator that contains only storage and egress is a marketing illustration, not a complete cost model.

Our Cloudflare Pages versus Vercel comparison explains a similar distinction between static delivery, runtime usage and connected services. R2 can be part of a Cloudflare architecture, but the storage bill is not the same as a Workers or CDN bill.

Is R2 egress really free?

Yes, Cloudflare’s current R2 pricing documentation says egress bandwidth from R2 is free for any storage class. The footnote covers direct egress through the Workers API, S3 API and r2.dev domains. That is the core reason R2 can be attractive for applications that serve many files to users.

The phrase does not mean that every path around the bucket is free. Workers invocations, image processing, WAF, cache, logging, storage operations, downstream providers and data transformations may have their own prices. If a public bucket is connected to a custom domain, Cloudflare Cache can accelerate access, but the cache configuration and the rest of the Cloudflare account still need to be evaluated.

It is also possible to pay more in operations even when egress is zero. A media application with 100 GB stored but hundreds of millions of reads may spend more on Class B operations than a backup bucket with 1 TB stored and very few reads. The object count, request count and access pattern matter more than the headline storage rate.

Standard versus Infrequent Access storage

Standard is the default class for frequently accessed website and application data. It has the higher storage price but no retrieval fee and no minimum storage duration. That makes it the safer default for active media, product images, user uploads and objects that may be read often.

Infrequent Access costs less per GB-month, but the current rates are higher for Class A and Class B operations, data retrieval costs $0.01 per GB and objects have a 30-day minimum storage duration. IA is designed for colder data such as archives, backups, disaster-recovery copies and long-tail user content.

WorkloadMore likely fitReason
Frequently requested images, video or application filesStandardNo retrieval fee and no minimum storage duration
Long-term logs or historical backupsInfrequent AccessLower storage price can help when reads are genuinely rare
Files deleted after a few daysUsually StandardIA’s 30-day minimum can erase the storage saving
Uncertain access patternStart with Standard and measureGuessing cold data can create retrieval and duration costs

Cloudflare’s storage-class documentation says Standard and Infrequent Access work with the Workers API, S3 API and public buckets. It also states that IA cannot be transitioned back to Standard through lifecycle policies. A storage-class choice should therefore be treated as an operational decision, not merely a cheaper number in a table.

For adjacent developer-platform context, read our MCP explainer and MCP architecture guide. Tool-connected applications often have more metadata and read operations than their storage dashboard suggests.

Public buckets, custom domains and security

R2 buckets are private by default. To serve objects publicly, Cloudflare documents two paths: connect a custom domain under your control or enable a Cloudflare-managed r2.dev development URL. The two paths are not equivalent.

A custom domain can use Cloudflare Cache, WAF custom rules, access controls and Bot Management. Cloudflare says only certain file types are cached by default, and a Cache Everything rule is needed if you want all files cached. The r2.dev endpoint is rate-limited and intended for development. It does not provide the same production controls.

Do not make a bucket public simply to avoid writing an access layer. Public object URLs can expose private files, make hotlinking easier and create an unexpected Class B operation bill. Use signed access, tokens, Cloudflare Access or another authorization pattern when files should be limited to known users.

For an Indian media or backup system, also decide whether the bucket is an origin or a public delivery endpoint. If it is an origin, put an appropriate cache and access layer in front of it. If it is public, test abuse controls, rate limits, cache headers and object naming before placing user uploads on the Internet.

Is R2 compatible with AWS S3?

R2 implements the S3 API so many existing SDKs, libraries and tools can connect without a complete application rewrite. The current compatibility page lists which bucket and object operations are implemented, experimental or not implemented. Compatibility is therefore useful, but it is not the same as feature-for-feature identity with Amazon S3.

The R2 S3 endpoint uses the account ID and an auto bucket region. The documentation says empty and us-east-1 aliases can be used by tools that require a region. Before migration, check the exact operations your application uses, especially ACLs, bucket policies, replication, versioning, notifications, inventory, object lock, multipart flows and specialized checksums.

R2 can be a good choice for a file service that mainly needs PUT, GET, HEAD, list and signed access. It is a riskier drop-in replacement when the application depends on advanced AWS control-plane features. Test a real migration with a sample bucket, not just a successful SDK connection.

Our interactive code blocks article, coding AI guide and Canva AI analysis cover adjacent technology workflows. They are relevant examples of why an infrastructure migration must be checked against the actual tools and permissions in use.

Who should use Cloudflare R2 in 2026?

R2 is a strong candidate for media, backups, user-generated content, static assets and data pipelines where egress would otherwise dominate the bill. It is especially interesting when the application already uses Cloudflare DNS, Workers or custom-domain caching and can benefit from the S3-compatible API.

R2 is less obviously suitable when the workload needs AWS-specific control-plane features, complex replication, a particular storage region, enterprise support terms or a broad set of S3 features that the compatibility page does not implement. S3 may be a better fit for an AWS-native system even when R2’s storage rate looks lower.

Choose Standard for active data unless measurement supports IA. Use a custom domain for production public delivery. Keep sensitive buckets private. Calculate operations as well as storage. Then compare the complete monthly bill with the cost of the application, CDN, image pipeline and monitoring around the bucket.

Our AI platform comparison and Kimi K2 analysis use the same practical rule: check the current product surface and usage restrictions instead of relying on a launch headline.

Conclusion: R2 can be cheap, but only when the workload fits

Cloudflare R2’s most important advantage is real: egress bandwidth from R2 is free. Its current Standard rate is $0.015 per GB-month, and the Standard free tier includes 10 GB, 1 million Class A operations and 10 million Class B operations each month. That is a useful model for file-heavy applications.

The bill is still shaped by operations, storage class, data retrieval, minimum duration, cache misses, Workers and connected services. Use the official calculator as a starting point, then calculate the real read and write pattern. If the application depends on advanced S3 features or a specific AWS region, low storage price alone is not a migration plan.

Frequently Asked Questions

Sometimes. R2 can be cheaper for workloads that move a lot of data to users because R2 does not charge egress bandwidth. S3 may still fit better when an application depends on AWS-native services, a particular region or advanced S3 features. Compare storage, requests, retrieval, origin and connected-service costs together.
Cloudflare's current R2 pricing documentation says egress bandwidth from R2 to the Internet is free for any storage class. That does not make every surrounding service free. Storage operations, Workers, cache, WAF, image processing, logging and downstream providers can have separate charges.
R2 Standard storage is currently $0.015 per GB-month. Infrequent Access storage is $0.01 per GB-month, but it has $0.01 per GB data-retrieval processing and a 30-day minimum storage duration. Standard and Infrequent Access also have different operation rates.
The current monthly free tier applies to Standard storage and includes 10 GB-month of storage, 1 million Class A operations and 10 million Class B operations. Egress remains free. The free tier does not apply to Infrequent Access storage, and usage is rounded up to the next billing unit.
R2 egress is free, but a download is still usually a Class B operation. After the Standard free allowance, Class B operations cost $0.36 per million requests. A cache or custom domain can reduce repeated reads reaching R2, but the complete delivery path must be configured and measured.
Yes. R2 implements an S3-compatible API and supports many SDKs, libraries and tools. It is not feature-for-feature identical to Amazon S3. Check the current compatibility page for implemented, experimental and unimplemented operations before migrating code that relies on policies, replication, versioning or other advanced features.
Use Standard for frequently accessed website, application and media data because it has no retrieval fee or minimum storage duration. Use Infrequent Access only when reads are genuinely rare and the lower storage rate outweighs its retrieval fee, higher operation rates and 30-day minimum duration.
SK Jabedul Haque
Written by

SK Jabedul Haque

Founder & Chief Editor

Building India's most trusted finance education platform — simplifying news, schemes and market trends so anyone can understand and invest confidently.

Read full bio

Never miss an update

Get our clearest explainers on schemes, markets and money — read what matters, without the noise.

Explore more articles
In this article