Backup Storage Prices

Checked

Storage classes

When R2 Infrequent Access stops being cheaper

A two-class R2 comparison with a 50% monthly byte break-even, the 30-day retention gate, Class A and Class B request consequences, and internet egress kept at not charged rather than omitted.

Put your own numbers through the calculator to see what this meter does to a normal month and to the day you restore.

Infrequent Access saves $0.005 per stored GB-month and charges $0.01 per retrieved GB

Let f be the fraction of stored GB read during a 30-day billing month. R2 Standard costs $0.015 per GB-month with retrieval not charged. Infrequent Access costs $0.01 per GB-month plus f x $0.01 per retrieved GB. Solving $0.01 + f x $0.01 = $0.015 gives f = 0.50, or 50% of stored bytes read per month. [1]

That byte crossover is only the first decision line. Infrequent Access has no free operation allowance, has higher Class A and Class B rates, and has a 30-day minimum storage duration. Internet egress is not charged for both classes, so it stays visible in a restore receipt but does not move the within-R2 byte crossover. [1]

Infrequent Access saves $0.005 per stored GB-month and charges $0.01 per retrieved GB
InputDataset valueBreak-even treatmentSource ref
Standard storage and retrieval$0.015/GB-month; retrieval not chargedWarmer baseline[1]
Infrequent Access storage and retrieval$0.01/GB-month + $0.01/GB retrieved($0.015 - $0.01) / $0.01 = 50% per month[1]
Infrequent Access minimum duration30 days0.50 full reads during the 30-day minimum; early deletion applies only to a delete, move, or replacement before day 30[1]
Internet egressnot charged for both classesNo egress crossover inside R2; another metered service on the delivery path remains conditional[1]

The cheaper class loses at half a full read before request costs are added

The 50% result assumes a retained object and compares byte meters only. R2 rounds storage, operations, and Infrequent Access retrieval up to the next billing unit, so small usages can depart from the continuous formula. [1]

Reading or restoring without mutating the source does not delete, move, or replace it. That read-only event does not trigger the 30-day early-deletion remainder, but it still incurs Infrequent Access retrieval and Class B operations. [1]

The cheaper class loses at half a full read before request costs are added
ClassStorage and retrievalMinimum durationBreak-even access frequencyWrong access patternSource ref
Standard$0.015/GB-month; retrieval not chargeddoes not applydoes not apply; Standard is the online baselineLong-lived data read below 50% per month when Infrequent Access request prices and its 30-day minimum do not erase the saving[1]
Infrequent Access$0.01/GB-month + $0.01/GB retrieved30 days50% per month; 0.50 full reads during the minimumMore than 50% of stored bytes read per month, mutation before day 30, or request-heavy access[1]

Zero egress does not mean a zero-cost restore

Standard includes 1 million Class A and 10 million Class B operations per month. Infrequent Access receives neither allowance and charges $0.009 per 1,000 Class A operations and $0.0009 per 1,000 Class B operations. The byte crossover therefore overstates Infrequent Access savings for many-small-object workloads. [1]

R2 charges no internet egress for either class, but the pricing page states that connected metered services can charge separately. The restore receipt must keep that adjacent-service line conditional instead of describing the whole delivery path as free. [1]

Zero egress does not mean a zero-cost restore
One-million-read comparisonStandardInfrequent AccessDecision effectSource ref
Class B operations$0.00 while the 10 million monthly allowance remains1,000,000 / 1,000 x $0.0009 = $0.90Moves the real crossover toward Standard[1]
Retrieval for 1,000 GB readnot charged1,000 GB x $0.01 = $10.00This is the meter that produces the 50% byte crossover[1]
Direct internet egressnot chargednot chargedDoes not change the class comparison[1]
Early deletiondoes not applydoes not apply for a read-only restoreAdd only if the scenario also deletes, moves, or replaces the source before day 30[1]

Sources

Every figure above comes from one of these pages, on the date shown. Each numbered reference in the text links to its entry here. Vendors change prices; if a date looks old, check the source. Three vendors publish a machine-readable feed and the rest are re-checked by hand, which is why the dates are not uniform.

The source ledger1 sources
  1. 1Cloudflare developer docs: R2 pricingdevelopers.cloudflare.com ยท checked 2026-07-25 15:34:44+00:00