Cloudflare R2 Standard vs Infrequent Access: Costs and Calculator
R2 Infrequent Access lists a lower storage rate than Standard. So why does one write and one read on a small backup add $9.90 before storage is even counted?

- R2 Infrequent Access is not automatically cheaper for a small backup. Its lower storage rate comes with higher request charges, retrieval fees and no Standard free allowance.
- Request usage rounds up in million-operation units. One billable Class A operation and one Class B operation can therefore add $9.90 before storage and retrieval.
- Choose Standard for a small or frequently accessed workload. Choose IA only after its full bill beats Standard for the way you retain and retrieve objects.
The storage price looks lower. The invoice can be higher. That is the central problem with choosing R2 Infrequent Access by its price per stored gigabyte alone.
A user storing personal restic backups expected a small fraction of the advertised per-million request charge. The invoice instead included the whole billing unit. Another user reported $9.90 for 13 Class A and 11 Class B operations. Both questions concern the billing unit—not a large data download.
Compare the whole monthly workload
Enter the workload as if it were entirely in one class for a full month. GB-month is billable storage over time, not necessarily the bucket's current size. The result is a rate calculation, not an account invoice.
Standard$1.35
Infrequent Access$10.91
Standard is lower by $9.56.
IA: $1.00 storage + $9.00 Class A + $0.90 Class B + $0.01 retrieval.
Uncheck the allowance option if your account has already used all its Standard allowances elsewhere. Partly used allowances need a separate calculation; this switch models all remaining or none remaining. Mixed-class buckets, transition charges, taxes, Workers and early-deletion adjustments are outside this whole-month comparison.
The low storage rate is only one line
| Meter | Standard | Infrequent Access |
|---|---|---|
| GB-month | $0.015 | $0.010 |
| Million Class A operations | $4.50 | $9.00 |
| Million Class B operations | $0.36 | $0.90 |
| Retrieved GB | No retrieval fee | $0.01 |
| Direct internet egress | Free | Free |
Rates checked October 22, 2026 against Cloudflare's pricing documentation. Billable units round up: request classes by million operations, storage by GB-month and IA retrieval by GB. Standard's monthly included storage and requests do not apply to IA.
This is not a universal $9.90 subscription. That request subtotal needs usage in both classes. No billable Class B operations means no Class B block in this model; no operations in either class means no operation charge. Stored data can still cost money.
Small requests can outweigh the storage saving
These calculated examples assume the entire Standard allowance is still available and that the objects satisfy IA's minimum storage duration.
| Monthly workload | Standard | IA | Lower bill |
|---|---|---|---|
| 1 GB-month, 1 write, 1 read, 1 GB retrieved | $0.00 | $9.92 | Standard |
| 100 GB-month, 100 writes, 100 reads, 1 GB retrieved | $1.35 | $10.91 | Standard |
| 2,000 GB-month, 100 writes, 100 reads, no retrieved bytes | $29.85 | $29.90 | Standard |
| 10,000 GB-month, 100 writes, 100 reads, 100 GB retrieved | $149.85 | $110.90 | IA |
The 100 GB-month example saves only $0.50 in raw storage before considering the Standard allowance. That cannot absorb a $9.90 request subtotal. At 10,000 GB-month, the storage difference becomes much larger, and IA wins the illustrated low-request workload even after retrieving 100 GB.
Under the narrower assumption of some usage in each request class, no more than a million operations in either, no retrieval volume and an unused Standard allowance, the two modeled totals meet at 2,010 GB-month:
Standard: (2,010 − 10) × $0.015 = $30.00
IA: 2,010 × $0.010 + $9.00 + $0.90 = $30.00 Change the request counts, remaining allowance or retrieved bytes and that break-even point changes. It is an answer for a specified workload, not a minimum storage requirement imposed by R2.
Thirty-day retention matters for rotating backups
IA has a 30-day minimum storage duration. Deleting, replacing or moving an object sooner does not erase the remaining minimum-duration charge. A seven-day rolling backup therefore needs different storage accounting from a stable monthly archive.
Keep “a backup exists for a week” separate from “the same objects stay for a month.” Daily replacement can create many short-lived objects even when the visible bucket size stays roughly constant. Feed the resulting billable GB-month into the calculator rather than just entering today's occupied space.
Cloudflare's lifecycle rules can transition objects from Standard to IA, and that transition incurs a Class A operation. A policy that moves data just before it expires can buy very little useful archive time.
Free egress does not remove retrieval or request costs
R2's egress-free delivery means bytes leaving the service do not create the usual internet-transfer fee. It does not make every API operation or access to IA data free.
For public assets, caching can reduce requests that reach storage. The public-bucket documentation requires a custom domain for Cloudflare caching and related controls; an r2.dev development URL is not the same delivery setup.
Use R2 analytics to separate stored data, operations and bandwidth. When checking an unexpected bill, compare the invoice period with the usage period rather than assuming an empty bucket today proves there was no earlier usage. Cloudflare's billing lifecycle distinguishes the consumption period from invoice generation.
Change the class only after pricing the change
Changing the bucket default affects new uploads. Existing objects need their own class change. The storage-class guide describes using a copy operation; lifecycle policies cannot transition IA objects back to Standard.
Before moving existing IA objects, count the copy operations, data retrieval and any remaining minimum duration. Compare that one-time transition cost with the monthly saving you expect. Repeatedly switching a dataset because the storage line looks cheaper can erase the saving.
Standard is the better starting choice for a small backup, a changing dataset or frequently served files. IA earns its place when the retained archive is large enough and accessed rarely enough that the whole calculation is lower.