Before Enabling R2 Infrequent Access, Separate Free Egress from the Rest of the Bill

Scope: Cloudflare’s public R2 and Billing docs, checked October 5, 2026 (13:48 KST). Prices and rules can change. We read Cloudflare’s published pages only. We haven’t created an R2 bucket, used Infrequent Access or looked at an R2 invoice for this article. Taxes, credits and account discounts aren’t covered.

Short answer: R2’s free egress is one fee category. It doesn’t mean that storing or reading your files costs nothing. Cloudflare’s pricing page says R2 charges for "the total volume of data stored, along with two classes of operations," and "for the Infrequent Access storage class, data retrieval fees apply." Egress is the line that stays free: "There are no charges for egress bandwidth for any storage class." Start with your storage class and the cost fields below.

Your pre-enable worksheet

Fill in the "Your input" column from your own plans or usage data. Leave a cell blank until you know it. Don’t estimate it from this article.

Cost fieldYour inputOfficial condition (Cloudflare R2 Pricing / Storage classes)Still unknown until you check
Storage classStandard is "the default storage class for new R2 buckets unless otherwise specified." Infrequent Access (IA) is the other class.Which class each bucket or object will really use
Monthly storage (GB-month)Billed in GB-month, "calculated by averaging the peak storage per day over a billing period (30 days)."Your retained data per day
Operations (Class A / Class B)Class A "tend to mutate state"; Class B "tend to read existing state." Some operations, such as DeleteObject, are free.Your write, list and read counts
Data retrieval (GB)IA only: retrieval fees apply "any time objects are read or copied."How many GB you’ll read or copy back from IA
Minimum storage durationStandard: none. IA: 30 days.How long IA objects really stay before you delete, move or replace them

Free egress versus retrieval

These two are easy to mix up. Egress is data transfer out to the internet. Cloudflare’s footnote says egress "directly from R2, including via the Workers API, S3 API, and r2.dev domains does not incur data transfer (egress) charges and is free." Retrieval is a separate fee for IA data. It applies "when you access or retrieve data from the Infrequent Access storage class," including reads and copies. So an IA object read through a free-egress path can still create a retrieval charge and a Class B operation charge.

Standard or Infrequent Access

StandardInfrequent Access
Storage$0.015 / GB-month$0.01 / GB-month
Class A operations$4.50 / million requests$9.00 / million requests
Class B operations$0.36 / million requests$0.90 / million requests
Data retrievalNone$0.01 / GB
Egress (data transfer to Internet)FreeFree
Monthly free tier10 GB-month storage, 1 million Class A, 10 million Class BNot covered
Minimum storage durationNone30 days

Rates from Cloudflare’s R2 Pricing page as checked October 5, 2026. Don’t add these rows into one "offer" total. Your bill depends on your own usage in each row.

The free tier is the row people tend to misread. Cloudflare’s pricing page says: "The free tier only applies to Standard storage, and does not apply to Infrequent Access storage." The Storage classes page describes IA as "lower storage cost compared to Standard storage, but includes retrieval fees and a 30 day minimum storage duration requirement."

Small workloads and billable units

Don’t prorate a per-million price to your exact request count (for example, 1,000,001 / 1,000,000 × $4.50) and treat that as your bill. Cloudflare says it "rounds up your usage to the next billing unit." Its examples: "one million and one operations" are billed "for two million operations," 1.1 GB-month is billed as 2 GB-month, and 1.1 GB of IA retrieval is billed as 2 GB.

A five-day storage example

Cloudflare’s R2 Pricing page includes an IA example. Its conditions: 1,000 objects averaging 1 GB, stored in IA for 5 days and then deleted, with each object read 1,000 times during those 5 days. Under those conditions only, the page lists $10.00 storage, $9.00 Class A, $0.90 Class B and $10.00 data retrieval: $29.90 total, as an illustration. That isn’t a minimum charge, a typical bill or anyone’s invoice.

The storage line is the important part. Deleting after 5 days didn’t shrink it. Cloudflare notes that because of the 30-day minimum, "the billable quantity is 1,000 GB-months, rather than 167 GB-months." The Storage classes page says this applies "even if the object was deleted, moved, or replaced before the specified duration." Early deletion doesn’t waive the minimum-duration charge.

Before you enable

Before you pick IA for a bucket or a lifecycle rule, write down:

  • the storage class each workload will actually use;
  • how many GB you’ll keep, and for how many days per object;
  • expected Class A and Class B operation counts;
  • how many GB you’ll read or copy back out of IA;
  • any other Cloudflare services in the same request path.

Cloudflare also notes that once an object is in IA, it "cannot be transitioned to Standard Access using lifecycle policies." The same page says you can change an existing object’s class with the CopyObject API. Copying IA data counts as retrieval, and the 30-day minimum still applies. This worksheet is for planning. It isn’t advice to move or delete existing production data.

FAQ

Is retrieval the same as egress? No. Egress to the internet is free for every storage class. Retrieval is a per-GB fee for reading or copying IA data. See R2 Pricing: Data retrieval.

Is Infrequent Access covered by the free tier? No. Cloudflare says the free tier "only applies to Standard storage." See R2 Pricing: Free tier.

Does deleting after 5 days erase the 30-day minimum? No. IA objects are charged for the minimum duration even if deleted, moved or replaced earlier. See R2 Storage classes.

Are other linked services covered by free egress? Not necessarily. Cloudflare’s footnote says: "If you connect other metered services to an R2 bucket, you may be charged by those services." Its billing guide adds: "Every request to a Cloudflare-proxied domain can touch multiple products, each with its own billing dimension." See How charges accrue.

Sources and check time

Checked October 5, 2026, 13:48 KST. The R2 Pricing page showed "Last updated Oct 1, 2026." All dollar figures above are Cloudflare’s published rates or its own illustrative example, not a quote or an invoice. Check the official pricing page again before you pay.

  • Cloudflare Docs, "Pricing" (R2): https://developers.cloudflare.com/r2/pricing/
  • Cloudflare Docs, "Storage classes" (R2): https://developers.cloudflare.com/r2/buckets/storage-classes/
  • Cloudflare Docs, "How charges accrue" (Billing): https://developers.cloudflare.com/billing/understand/how-charges-accrue/