Vendor
Cloudflare R2 pricing for backup storage
Cloudflare R2 removes the internet-egress meter, not the whole restore bill. Standard has a storage and request free tier; Infrequent Access has no Standard allowances, charges retrieval, and applies a 30-day minimum when data is deleted or transitioned early.
Price your own workload against every vendor, including the worst-day restore and how long it takes to come back.
What the pricing page does not lead with
R2's free egress applies to both classes, but the classes do not share the same restore bill.
Infrequent Access adds retrieval and higher request rates while Standard does not.
Source, checked 2026-07-25T15:34:44ZStandard request allowances do not apply to Infrequent Access.
Applying 1 million Class A and 10 million Class B free to the cold class understates every nonzero operation workload.
Source, checked 2026-07-25T15:34:44ZReads and copies from Infrequent Access count as retrieval.
A restore pays for bytes retrieved even though the subsequent internet transfer is free.
Source, checked 2026-07-25T15:34:44Z
The rest of this vendor's non-obvious rules1 more
The 30-day minimum is mutation-triggered.
Delete, overwrite, and transition can create a remainder; reading the source cannot.
Source, checked 2026-07-25T15:34:44Z
Worked bills
Each one states its inputs and every line, so the total can be checked rather than trusted. A state stays a word and is never counted as zero.
Standard workload inside both request allowances$149.85
Storage class: Standard · Storage GB: 10,000 · Internet egress GB: 1,000 · Class a operations: 500,000 · Class b operations: 2,000,000 · Mutation: none; read-only restore
Sources: Cloudflare developer docs: R2 pricing: Standard storage, free tier, operations, egress, retrieval, and duration, checked 2026-07-25T15:34:44Z
| Storage after 10 GB free | $149.85 |
|---|---|
| Class A and Class B operations | $0.00 |
| Internet egress and retrieval | not charged |
| Early deletion | does not apply |
| Total | $149.85 |
Storage = (10,000 - 10) x $0.015 = $149.85. Both operation counts are inside their separate allowances. Egress and retrieval are not charged, and the restore does not mutate the source.
Standard workload above both request allowances$155.07
Storage class: Standard · Storage GB: 10,000 · Internet egress GB: 1,000 · Class a operations: 2,000,000 · Class b operations: 12,000,000
Sources: Cloudflare developer docs: R2 pricing: Standard free tiers and operation overages, checked 2026-07-25T15:34:44Z
| Storage after 10 GB free | $149.85 |
|---|---|
| 1 million Class A overage | $4.50 |
| 2 million Class B overage | $0.72 |
| Internet egress and retrieval | not charged |
| Total | $155.07 |
Class A = (2,000,000 - 1,000,000) / 1,000,000 x $4.50 = $4.50. Class B = (12,000,000 - 10,000,000) / 1,000,000 x $0.36 = $0.72. Total = $149.85 + $4.50 + $0.72 = $155.07.
Infrequent Access full restore$20.91
Storage class: Infrequent Access · Storage GB: 1,000 · Restored GB: 1,000 · Internet egress GB: 1,000 · Class a operations: 1,000 · Class b operations: 1,000,000 · Mutation: none; read-only restore
Sources: Cloudflare developer docs: R2 pricing: Infrequent Access storage, retrieval, operations, egress, and duration, checked 2026-07-25T15:34:44Z
| Storage | $10.00 |
|---|---|
| Data retrieval | $10.00 |
| 1,000 Class A operations | $0.009 |
| 1 million Class B operations | $0.90 |
| Internet egress | not charged |
| Early deletion | does not apply |
| Total | $20.91 |
Storage = 1,000 x $0.01 = $10.00. Retrieval = 1,000 x $0.01 = $10.00. Class A = 1,000 / 1,000,000 x $9.00 = $0.009. Class B = 1,000,000 / 1,000,000 x $0.90 = $0.90. Charged-line sum = $20.909, rounded to $20.91. Internet egress is not charged and early deletion does not apply to the read-only restore.
Delete 1,000 GB of Infrequent Access after 10 days$10.00
Storage class: Infrequent Access · Stored GB: 1,000 · Object age at deletion days: 10 · Minimum storage duration days: 30 · Operation: delete, not restore
Sources: Cloudflare developer docs: R2 pricing: 30-day minimum and early-deletion remainder, checked 2026-07-25T15:34:44Z
| First 10 days of storage | $3.3333 |
|---|---|
| Remaining 20 minimum-duration days | $6.6667 |
| Total | $10.00 |
The 30-day storage amount is 1,000 x $0.01 = $10.00. Elapsed storage is $10.00 x 10/30 = $3.3333 and the remaining duration is $10.00 x 20/30 = $6.6667. This mutation reaches the full $10.00 minimum; a read-only restore would not.
Every class, and the rules that change its bill
2 classes captured for this vendor. Each rule below is a published condition that moves a real line on the bill, with the page it came from.
Standard7 rules
Frequently accessed objects and backup repositories whose reads should avoid retrieval charges.
| Rule | Value | Why it moves the bill |
|---|---|---|
| Storage | First 10 GB free monthly, then $0.015 per GB-month | The Standard free tier must be subtracted before the storage line is calculated. |
| Class A operations | 1 million free monthly, then $4.50 per million | Writes, lists, multipart parts, copies, and lifecycle actions can exceed the allowance independently of storage. |
| Class B operations | 10 million free monthly, then $0.36 per million | GET and HEAD traffic from a large-object-count restore can create a request bill despite free egress. |
| Internet egress and retrieval | not charged | Direct internet bytes and Standard reads have no per-GB line; request charges remain separate. |
| Usage rounding | Usage rounds up to the next billing unit | Receipts should preserve Cloudflare's billing units rather than silently applying a different rounding convention. |
| Minimum storage duration and early deletion | does not apply | Standard has no duration remainder in the captured offer. |
| Minimum billable object size | not published | The checked official page does not support a small-object storage uplift. |
Infrequent Access8 rules
Less-frequently read objects where lower storage cost outweighs paid retrieval and higher request rates.
| Rule | Value | Why it moves the bill |
|---|---|---|
| Storage | $0.01 per GB-month with no Standard free storage allowance | The Standard 10 GB free tier is not eligible for Infrequent Access. |
| Retrieval | $0.01 per GB read or copied | A full restore adds a retrieval line even though internet egress remains free. |
| Class A operations | $9.00 per million with no Standard allowance | Every billable Class A operation starts at the Infrequent Access rate. |
| Class B operations | $0.90 per million with no Standard allowance | Restore reads pay both Class B requests and retrieval. |
| Internet egress | not charged | Free internet transfer must not erase retrieval and request lines. |
| Minimum storage duration | 30 days with a prorated remainder after early delete, overwrite, or transition | A mutation can bill the unused duration. A read-only restore does not activate it. |
| Usage rounding | Usage rounds up to the next billing unit | The final invoice follows Cloudflare's published unit treatment. |
| Minimum billable object size | not published | No object-size floor is inferred from the lower storage rate. |