Camille Forster24 min read4296 views

Cloudflare R2 Pricing in 2026: What You Actually Pay

Cloudflare R2 pricing in 2026 charges for storage and operations but never for egress: Standard storage is $0.015/GB-month, Class A writes $4.50/million, Class B reads $0.36/million, with a permanent free tier of 10 GB plus 1M/10M operations. Free egress is the whole pitch, and it moves your bill onto operations, not gigabytes. Below: three real 30-day bills versus Amazon S3 and Backblaze B2, and the Infrequent Access trap that doubles a write-heavy bill.

Updated on September 29, 2026

Cream cloud storage bucket with a gold free-egress arrow flowing out to rising cost bars, on a deep green background
Cream cloud storage bucket with a gold free-egress arrow flowing out to rising cost bars, on a deep green background
On this page

Quick answer (updated September 29, 2026): Cloudflare R2 charges for storage and operations but never for egress. Standard storage is $0.015 per GB-month, Class A operations (writes and lists) are $4.50 per million, and Class B operations (reads) are $0.36 per million. Every account gets a permanent free tier: 10 GB of storage plus 1 million Class A and 10 million Class B operations every month, with free egress on every storage class. Infrequent Access storage is cheaper to hold ($0.01 per GB-month) but doubles both operation rates ($9.00 and $0.90 per million) and adds a $0.01 per GB retrieval fee, so it only wins for genuinely cold data. Versus Amazon S3, R2 is far cheaper for egress-heavy workloads (free egress against roughly $0.088 per GB on S3); for a quiet cold archive that rarely moves, Backblaze B2 at about $6.95 per TB-month usually beats both. Rates below are verbatim from Cloudflare's official R2 pricing page, re-verified September 29, 2026.

Correction, September 8, 2026: the cold-backup comparison below originally priced the 2 TB Infrequent Access bill at $19.90 of storage for a $21.03 total, which subtracted the 10 GB monthly free allowance from an Infrequent Access bucket. Cloudflare's pricing page states in its own caution that the free tier applies to Standard storage only and does not apply to Infrequent Access, so the correct figures are $20.00 of storage and $21.13 in total. The write-heavy example further down already priced Infrequent Access without the allowance, so the two worked bills now agree. No rate changed: every rate in the card below, plus the free tier amounts, the rounding rule, the Infrequent Access minimum storage duration and the Cache Reserve rates, were re-verified against Cloudflare's own pages on September 8, 2026 and are unchanged.

Correction, September 29, 2026: this page described R2's free egress as "genuinely unconditional," and the FAQ repeated that as "no cap and no ratio condition." Cloudflare scopes the claim more narrowly than that. The footnote attached to every "Free" egress cell on its own rate card states that egressing directly from R2, including via the Workers API, the S3 API and r2.dev domains, does not incur data transfer charges, and adds that if you connect other metered services to an R2 bucket you may be charged by those services. The no-cap, no-ratio half was right; what was wrong was presenting the exemption as unbounded in scope rather than bounded to direct egress. Both passages now state it the way Cloudflare does. No rate changed: storage on both classes, both operation rates, the retrieval fee, the free tier amounts and the 30-day Infrequent Access minimum were re-verified line by line against Cloudflare's R2 pricing page on September 29, 2026 and every one is unchanged. None of the three worked bills below moves either, because all three egress directly from R2.

Cloudflare markets R2 on one word: egress. There are no fees to move your data out, ever, on any storage class. That single line is why teams migrate off Amazon S3, and it is also why the R2 bill confuses people. When the biggest line item on every other object store disappears, the costs that are left over, operations and storage, suddenly dominate. And those are the ones nobody budgets for.

This is the arithmetic behind Cloudflare's R2 pricing page, current as of August 2026, with three real 30-day bills and the operations trap that generates threads titled "does Cloudflare really charge $9.00 for a single R2 request?"

Cloudflare logo Cloudflare R2 is an S3-compatible object storage service that charges for stored data and for operations, but never for egress bandwidth. That last part is the whole pitch, and it changes how you budget.

What Cloudflare R2 costs in 2026

R2 has two storage classes, Standard and Infrequent Access, and bills three things: storage, Class A operations (writes, lists, most mutations), and Class B operations (reads). Egress is free on both classes. Here is the full rate card, verbatim from the pricing page in August 2026.

Scroll to see more

MeterStandardInfrequent Access
Storage$0.015 / GB-month$0.010 / GB-month
Class A operations (writes, lists)$4.50 / million$9.00 / million
Class B operations (reads)$0.36 / million$0.90 / million
Egress (data transfer out)FreeFree
Data retrievalNot applicable$0.01 / GB

Two details on that table matter more than the headline numbers. First, Infrequent Access halves your storage rate but doubles both operation rates and adds a retrieval fee. Second, Cloudflare rounds usage up to the next billing unit. Do 1,000,001 Class A operations and you are billed for two million. That rounding, not a per-request charge, is what the "$9 for a single request" threads are actually describing: on Infrequent Access, one million Class A operations cost $9.00, and if you trip one operation into the next million, you buy the whole next million.

The free tier covers more than you think

Every R2 account gets a permanent monthly free allowance on Standard storage: 10 GB stored, 1 million Class A operations, and 10 million Class B operations. For a side project serving a few thousand files, that is often the entire bill: zero. The free tier is why R2 feels free at small scale and then surprises you exactly when your writes cross one million a month. One scoping detail worth knowing before you plan around it: Cloudflare flags in its own caution that this allowance covers Standard storage only and does not extend to Infrequent Access, so an IA bucket is billed from its first gigabyte and its first operation.

Why your R2 bill is operations, not gigabytes

On S3 you learn to think in terabytes because egress is priced by the gigabyte and it dwarfs everything else. R2 removes that line, so the mental model has to change. Storage is cheap ($0.015/GB-month is $15 per terabyte). The bill is usually dominated by Class A operations, because every upload, overwrite, and multipart part counts, and they are the most expensive meter by far at $4.50 per million.

A useful reframe: R2 charges you for touching objects, not for holding them or for serving them. Hold a petabyte and read it a billion times over free egress, and you still only pay storage plus the read operations. Rewrite ten million small objects every night and the storage is a rounding error next to the Class A bill. It is the same trap as any usage-metered infra bill; we walked through the hosting version in our Vercel pricing teardown.

Which calls are Class A, which are Class B, and which are free

"Writes are Class A and reads are Class B" is the right instinct, and it leaves out the third bucket. Cloudflare publishes the membership of each class explicitly, and three of the calls you make most often cost nothing at all.

Scroll to see more

ClassRate on StandardCalls Cloudflare lists
Class A$4.50 / millionPutObject, CopyObject, CreateMultipartUpload, UploadPart, UploadPartCopy, CompleteMultipartUpload, ListObjects, ListBuckets, ListParts, ListMultipartUploads, PutBucket, PutBucketEncryption, PutBucketCors, PutBucketLifecycleConfiguration, LifecycleStorageTierTransition
Class B$0.36 / millionGetObject, HeadObject, HeadBucket, UsageSummary, GetBucketEncryption, GetBucketLocation, GetBucketCors, GetBucketLifecycleConfiguration
Freeno chargeDeleteObject, DeleteBucket, AbortMultipartUpload

Three consequences worth budgeting around. Deletes are free, so a lifecycle rule that prunes ten million expired objects costs nothing on the operations meter, and neither does sweeping up failed uploads with AbortMultipartUpload. CopyObject is Class A, not Class B, so a server-side copy is priced like a fresh write at $4.50 per million even though no bytes leave Cloudflare; re-organising a bucket by copying objects into new key prefixes is an expensive way to tidy up, and at ten million objects it is a $45 decision. HeadObject is Class B, so checking whether an object already exists costs $0.36 per million against the $4.50 per million write it might let you skip, which makes the check worth making whenever a meaningful share of writes are redundant.

There is one more that sounds like a security question and is really a billing one: Cloudflare states that you are not charged for operations where the caller does not have permission and the request returns HTTP 401. A public bucket being scanned by bots does not run up a Class B bill on the requests it rejects. Class membership and the unauthorized-request rule are both from Cloudflare's R2 pricing page, September 2026.

Standard vs Infrequent Access: when IA actually wins

Infrequent Access looks cheaper because the storage rate is a third lower. It is a trap for the wrong workload. IA doubles Class A operations to $9.00 per million, doubles Class B to $0.90 per million, adds a $0.01/GB retrieval fee, and charges a 30-day minimum storage duration even if you delete an object after a day.

IA wins only when data is genuinely cold: written once, read rarely, kept for at least a month. Think compliance archives, old backups, raw logs you might never touch. The moment a workload writes often or reads often, IA costs more than Standard, not less. Bill 3 below shows exactly how badly that goes.

Three real 30-day bills

Prices are the August 2026 rate card. S3 comparison figures use the widely cited economics from Last Week in AWS: roughly $0.023/GB-month S3 Standard storage and about $0.088/GB egress ($23 and $90 per terabyte). AWS rates vary by region and tier, so confirm current numbers on the AWS S3 pricing page.

Bill 1: an image and asset host (egress-heavy)

A SaaS storing user uploads: 100 GB stored, 5 million writes a month, 40 million reads a month, and 2 TB served to browsers.

  • Storage: (100 - 10 free) = 90 GB x $0.015 = $1.35
  • Class A: (5M - 1M free) = 4M x $4.50 = $18.00
  • Class B: (40M - 10M free) = 30M x $0.36 = $10.80
  • Egress (2 TB): $0.00
  • R2 total: about $30.15/month

The same workload on S3: about $2.30 storage, plus roughly $171 in egress on the 2 TB (after the first 100 GB free), plus request fees on top. Call it $173-plus before requests. The R2 bill is about $30, the S3 bill is about $175, and the entire $145 gap is one line: egress. On R2 that line is zero, so your cost collapses to operations.

Bill 2: a cold backup (write-once, rarely read)

A 2 TB offsite backup: 2,000 GB stored, 50,000 writes, 200,000 reads, 50 GB pulled back in a month.

Scroll to see more

OptionStorageOperationsRetrievalTotal
Cloudflare R2 Standard$29.85$0 (under free tier)n/a$29.85
Cloudflare R2 Infrequent Access$20.00$0.63$0.50$21.13
Backblaze Backblaze B2$13.90Free$0 (under 3x)$13.90

Here is the honest part: R2 is not the cheapest place to park cold data. Backblaze B2 stores at $6.95 per terabyte-month (about $0.007/GB), keeps Class A/B/C transactions free, and only bills egress past three times your stored volume. For a 2 TB archive that rarely moves, B2 is less than half the price of R2 Standard. R2 earns its premium when egress is uncapped and unpredictable; for a quiet backup it is not the low bidder. If your files live behind an app database instead, the same egress math drives Supabase's storage pricing.

Bill 3: a write-heavy pipeline (the operations trap)

A nightly job writing 3 million small objects a month into a 200 GB bucket, read rarely. Someone reads "IA storage is cheaper" and switches the bucket to Infrequent Access to save money.

  • On IA: storage 200 x $0.010 = $2.00; Class A 3M x $9.00 = $27.00. Total about $29/month, and 93% of it is operations.
  • On Standard: storage 200 x $0.015 = $3.00; Class A (3M - 1M free) = 2M x $4.50 = $9.00. Total about $12/month.

Switching to IA to shave a dollar of storage more than doubled the bill, because IA doubles the operation rate and this workload is nothing but operations. IA is for data you write once and barely touch, never for a churny pipeline.

Cloudflare R2 pricing per TB and per 100 TB

Per-gigabyte rates are hard to reason about once you are past a side project. Here is the same August 2026 rate card restated at terabyte scale, using Cloudflare's own billing unit (1 TB = 1,000 GB-months).

Scroll to see more

VolumeR2 Standard storageR2 Infrequent Access storageEgress on R2Egress on Amazon S3
1 TB-month$15.00$10.00$0.00about $88
10 TB-month$150.00$100.00$0.00about $880
100 TB-month$1,500.00$1,000.00$0.00about $8,800

One unit detail matters if your stored volume moves during the month. A GB-month is neither your peak nor your closing reading: Cloudflare takes the peak storage on each day and averages those daily figures across the 30-day period. Its own worked example is hold 1 GB for five days and 3 GB for the remaining twenty-five, which bills as 1 * 5/30 + 3 * 25/30 = 2.66 GB-months, not 3. A bucket that spikes over a weekend and drains again costs close to its baseline rather than its high-water mark. Infrequent Access is the exception, because an object there is billed for the full 30-day minimum even if you delete it on day one.

Storage is the predictable half. The half that catches people is that the write bill is set by object count, not by volume, because Class A operations are billed per request. Uploading exactly 1 TB costs a completely different amount depending on how you slice it:

Scroll to see more

Average object sizeObjects in 1 TBClass A operationsCost to write that TB
10 MB100,000100 thousand$0.45
1 MB1,000,0001 million$4.50
100 KB10,000,00010 million$45.00
10 KB100,000,000100 million$450.00

Same terabyte, a hundredfold spread in write cost. If you are budgeting R2 and you only know your gigabytes, you do not yet know your bill. Get the object count first. Multipart uploads make this sharper still, because each part is its own Class A operation, so a 10 MB file uploaded in 5 MB parts costs two operations, not one.

Egress, ingress, and what "free" actually covers

Free egress is the reason R2 exists, and on volume it really is unconditional: there is no per-gigabyte data transfer charge on any storage class, at any volume, with no cap and no ratio limit. Cloudflare does scope it in one way worth reading, in the footnote it attaches to every "Free" cell on its rate card. Egress is free when you egress directly from R2, which Cloudflare spells out as the Workers API, the S3 API and r2.dev domains, and it warns that if you connect other metered services to an R2 bucket you may be charged by those services. So the exemption is unlimited in volume and bounded in scope: R2 itself never bills the byte, while anything else you put in front of it bills on its own meter. Ingress (uploading data into R2) carries no bandwidth charge either.

What is not free is the operation that moves the byte:

  • Serving a file is free on the bandwidth meter and billed as one Class B operation at $0.36 per million. Ten million public downloads a month costs $3.60 in reads and $0 in transfer.
  • Uploading a file is billed as a Class A operation at $4.50 per million, plus one operation per multipart part.
  • Pulling data back out of Infrequent Access adds a $0.01 per GB retrieval fee on top. This is the only R2 meter that looks like an egress charge, and it applies to the IA storage class only, not to Standard.

So the honest framing is that R2 removed the bandwidth meter and kept the request meter. On S3, serving 2 TB to browsers costs roughly $176 in transfer alone. On R2 that same 2 TB costs $0 in transfer, and your only exposure is the read requests that delivered it. Rates confirmed against Cloudflare's R2 pricing page in August 2026.

Cache Reserve is priced like R2 but has no free tier

Cloudflare Cache Reserve is regularly confused with R2 because it uses R2 underneath and bills on the same three meters at the same rates. It is a different product with a different bill.

Scroll to see more

MeterCache ReserveR2 Standard
Storage$0.015 / GB-month$0.015 / GB-month
Class A operations$4.50 / million$4.50 / million
Class B operations$0.36 / million$0.36 / million
Free monthly allowanceNone10 GB + 1M Class A + 10M Class B
Plan requirementPaid Cache Reserve subscriptionAny account, including free

Identical rate card, one decisive difference: Cache Reserve has no free allowance and requires a paid subscription, while R2 gives every account a permanent free tier. Cache Reserve also only accepts assets with a freshness TTL of at least 10 hours, so short-lived content never lands there and never bills. Figures from Cloudflare's Cache Reserve documentation, August 2026.

The practical read: Cache Reserve is an extension of your CDN cache, priced per gigabyte you would otherwise re-fetch from origin. R2 is a bucket you write to deliberately. If you are trying to cut origin egress on a site you already serve through Cloudflare, Cache Reserve is the lever. If you are storing objects your application owns, that is R2, and it starts free.

R2 Data Catalog stacks a second bill on top of R2

If you use R2 as an Apache Iceberg store through R2 Data Catalog, that is a second bill on top of the first. Standard R2 storage and operations still apply to the underlying data, and the catalog adds two meters of its own, each with its own monthly allowance.

Scroll to see more

MeterIncluded every monthRate above the allowance
Catalog operations1 million$9.00 / million
Compaction, data processed10 GB$0.005 / GB
Compaction, objects processed1 million$2.00 / million

Catalog operations are metadata requests: creating a table, reading table metadata, updating table properties, listing a namespace. Cloudflare notes they do not scan or move data, which is why a million of them are included and why most tables never pay for them. Compaction is the meter that actually bills, and it only bills if you turn it on: with automatic compaction enabled R2 periodically rewrites small files into larger ones, and charges both for the bytes it reads and rewrites and for the number of files it touches. Automatic snapshot expiration, by contrast, is free.

Cloudflare's own streaming example shows the shape. A table ingesting at 20 MB/s for a month accumulates roughly 49 TB and bills $759.23 of R2 storage, $253.08 of compaction data processed, and $0.00 for both catalog operations and compaction objects, because both sit inside the included allowance. That is the same lesson as the rest of this page arriving in a new costume: the meter with the frightening per-million headline never fires, and the boring one, volume, is the entire bill. Rates from Cloudflare's R2 Data Catalog pricing page, September 2026.

Getting data in: Super Slurper and Sippy cost operations, not licence fees

Migrating off Amazon S3 is where most R2 bills start, and the two migration tools carry no product charge at all. Super Slurper (bulk copy) and Sippy (incremental, migrate-on-read) are both free to use. You pay only for the R2 operations they generate: every object Super Slurper writes into your bucket is a Class A operation at $4.50 per million, and every object Sippy pulls across on a cache miss is the same.

That makes migration cost predictable from one number you already have, your object count. Moving 5 million objects costs about $22.50 in Class A operations regardless of how many terabytes they add up to. What you should budget separately is the source side: S3 charges egress to get the data out, so a 10 TB migration off S3 costs roughly $880 to AWS and about $22.50 to Cloudflare if those 10 TB are 5 million objects. The expensive half of leaving S3 is the leaving, and you pay it once.

R2 vs S3 vs Backblaze B2 at a glance

Cloudflare Cloudflare R2, Amazon S3 Amazon S3, and Backblaze Backblaze B2 solve the same job with three different pricing philosophies.

Scroll to see more

CriterionR2 StandardAmazon S3 StandardBackblaze B2
Storage per TB-month$15~$23$6.95
EgressFree, uncapped~$0.088/GBFree to 3x stored, then $0.01/GB
OperationsClass A $4.50/M, Class B $0.36/MCharged, tieredFree (Class A/B/C)
S3-compatible APIYesNativeYes
Free tier10 GB + 1M/10M ops5 GB (12 months)10 GB

The pattern: S3 is priced for you to stay (egress is the moat), R2 is priced to serve (free egress, pay for writes), and B2 is priced to store (cheapest bytes, capped free egress).

The cheaper-lever cheat sheet

  • Egress-heavy (images, video, downloads, public assets): R2 Standard, no contest. Free egress is worth more than any storage discount, and R2 storage undercuts S3 too.
  • Cold archive that rarely moves: price Backblaze B2 first. It usually wins on storage; R2 only pulls ahead if your egress is large or spiky.
  • Write-heavy or many small objects: budget for Class A operations, not gigabytes. Batch writes, avoid tiny objects, and do not switch to Infrequent Access.
  • Genuinely cold, read-rarely data: Infrequent Access, but only if objects live at least 30 days and reads are truly infrequent.
  • Watch the rounding: operations round up to the next million. A job that trips just over a million pays for the whole next million.

R2's free egress is real and it is the reason to choose it. Just remember that removing the egress line does not make the bill zero. It moves the bill onto operations, and that is the number you now have to watch. Metered databases have the same shape: our Firebase pricing teardown shows Firestore document reads, not stored gigabytes, driving the entire bill.

Math check: the egress-heavy asset host costs about $30 on R2 versus about $175 on S3, and every dollar of the $145 gap is egress you no longer pay. Budget R2 by operations, not gigabytes.

Cloudflare R2 pricing FAQ

How much does Cloudflare R2 cost?

R2 bills three things and never egress: Standard storage at $0.015 per GB-month, Class A operations (writes, lists) at $4.50 per million, and Class B operations (reads) at $0.36 per million. A 100 GB egress-heavy asset host running 5 million writes and 40 million reads a month lands around $30 after the free tier, versus roughly $175 for the same workload on Amazon S3, where the whole gap is egress.

Is Cloudflare R2 really free?

It is genuinely free at small scale. Every account gets a permanent monthly allowance on Standard storage: 10 GB stored, 1 million Class A operations, and 10 million Class B operations, plus unlimited free egress. A side project serving a few thousand files often pays nothing. The bill starts the month your writes cross 1 million or your storage passes 10 GB, and Class A operations, not gigabytes, are usually what pushes you off zero.

Is R2 cheaper than S3?

For egress-heavy workloads, yes, and it is not close: R2 has zero egress fees while S3 charges roughly $0.088 per GB, so serving 2 TB a month costs about $175 on S3 and about $30 on R2. R2 storage also undercuts S3 ($15 versus about $23 per TB-month). For a cold archive that rarely moves, R2 is not the cheapest option, Backblaze B2 stores at about $6.95 per TB-month with free transactions.

Can I use Cloudflare R2 for free?

Yes, within the permanent free tier: 10 GB of Standard storage, 1 million Class A operations, and 10 million Class B operations per month, with free egress on every class. There is no time limit on the free tier, unlike S3's 12-month introductory allowance. Watch the rounding: operations round up to the next million, so a job that trips just over a million buys the whole next million.

How much does Cloudflare R2 cost per TB?

Standard storage is $15.00 per TB-month ($0.015 per GB-month) and Infrequent Access is $10.00 per TB-month, with egress free at any volume. Storage is only half the answer though, because writes are billed per object, not per gigabyte: uploading one terabyte as 10 MB objects costs $0.45 in Class A operations, while uploading the same terabyte as 10 KB objects costs $450.00. Get your object count before you budget, not just your storage volume.

Does Cloudflare R2 charge for egress or ingress?

No, on both counts. R2 has no data transfer charge for moving data out or in, on any storage class, at any volume, with no cap and no ratio condition. Cloudflare scopes that to egress taken directly from R2, which it defines as the Workers API, the S3 API and r2.dev domains, and notes that other metered services you connect to a bucket bill on their own meters. What is still billed is the request that moves the byte: a download is one Class B operation at $0.36 per million, an upload is one Class A operation at $4.50 per million. The single exception that resembles an egress fee is the $0.01 per GB retrieval charge on the Infrequent Access class, which does not apply to Standard.

Does Cloudflare R2 charge for deletes?

No. Cloudflare lists DeleteObject, DeleteBucket and AbortMultipartUpload as free operations, so they fall outside both the Class A and Class B meters. A lifecycle rule that expires ten million objects costs nothing on operations, and cleaning up failed multipart uploads is free too. The calls worth watching instead are CopyObject, which is Class A at $4.50 per million even though it never leaves Cloudflare, and every individual part of a multipart upload, which is also Class A. You are likewise not billed for requests that return HTTP 401 because the caller had no permission.

How much does Cloudflare R2 Data Catalog cost?

R2 Data Catalog bills on top of standard R2 storage and operations, on two meters. Catalog operations are $9.00 per million with the first million free each month, and compaction, which only applies if you turn it on, costs $0.005 per GB of data processed after the first 10 GB plus $2.00 per million objects processed after the first million. Automatic snapshot expiration is free. In Cloudflare's own streaming example a table ingesting 20 MB/s for a month pays $759.23 in R2 storage and $253.08 in compaction, and nothing at all for catalog operations, because storage dominates at scale.

How much does Cloudflare Cache Reserve cost?

Cache Reserve bills the same three meters at the same rates as R2 Standard in August 2026: $0.015 per GB-month storage, $4.50 per million Class A operations, and $0.36 per million Class B operations. The difference that matters is that Cache Reserve has no free allowance and requires a paid subscription, whereas every R2 account gets 10 GB plus 1 million Class A and 10 million Class B operations free every month. Cache Reserve also only stores assets whose freshness TTL is at least 10 hours.

C

Written by

Camille Forster

Frequently asked questions

How much does Cloudflare R2 cost in 2026?

R2 Standard storage is $0.015 per GB-month ($15 per terabyte), Class A operations (writes and lists) are $4.50 per million, and Class B operations (reads) are $0.36 per million. Egress is free on every storage class. Infrequent Access storage is $0.010 per GB-month but doubles both operation rates and adds a $0.01/GB retrieval fee. Every account also gets a permanent free tier of 10 GB storage, 1 million Class A, and 10 million Class B operations per month.

Is Cloudflare R2 egress really free?

Yes, with no volume cap and no ratio condition: there are no data transfer out charges on either R2 storage class, no matter how much you serve or how many times an object is downloaded. Cloudflare scopes that to egress taken directly from R2, which it defines as the Workers API, the S3 API and r2.dev domains, and notes that other metered services you connect to a bucket may charge on their own meters. This is the core reason teams migrate from Amazon S3, where egress runs roughly $0.088 per GB. The catch is that removing egress does not make R2 free; your bill shifts onto storage and, more often, onto Class A and Class B operations.

Why did someone say R2 charges $9.00 for a single request?

It does not. $9.00 is the price for one million Class A operations on the Infrequent Access storage class. The confusion comes from Cloudflare rounding usage up to the next billing unit: if you perform 1,000,001 operations, you are billed for two million. So a job that trips just over a million buys the whole next million, which reads like a huge charge for one extra request.

R2 Standard or Infrequent Access, which is cheaper?

It depends entirely on your access pattern. Infrequent Access has a lower storage rate ($0.010 vs $0.015 per GB-month) but doubles Class A operations to $9.00 per million, doubles Class B to $0.90 per million, adds a $0.01/GB retrieval fee, and charges a 30-day minimum storage duration. IA only wins for data written once and read rarely. Any write-heavy or read-heavy workload costs more on IA than on Standard.

Is Cloudflare R2 cheaper than Amazon S3?

For egress-heavy workloads, dramatically. An asset host serving 2 TB a month costs about $30 on R2 versus about $175 on S3, and nearly the entire gap is egress. R2 storage ($15/TB) also undercuts S3 Standard (about $23/TB). S3 can still make sense if you are deep in the AWS ecosystem and need features like lifecycle tiering to Glacier.

Is Cloudflare R2 the cheapest object storage?

No. For cold data that rarely moves, Backblaze B2 is usually cheaper: $6.95 per terabyte-month with free transactions and free egress up to three times your stored volume. R2 wins when egress is large, spiky, or unpredictable, because its free egress is uncapped. For a quiet 2 TB backup, B2 can be less than half the price of R2 Standard.

What is the Cloudflare R2 free tier?

Every R2 account gets a permanent monthly free allowance on Standard storage: 10 GB stored, 1 million Class A operations, and 10 million Class B operations. Combined with free egress, a small project serving a few thousand files often pays nothing. Your first real bill usually appears when monthly writes cross one million or stored data exceeds 10 GB. The allowance is scoped to Standard storage only. Cloudflare states that it does not apply to Infrequent Access, so an IA bucket pays from its first gigabyte and its first operation.

Infrastructure economics

Railway Pricing in 2026: What You Actually Pay

Railway pricing in 2026 is usage-based: you pay $20 per vCPU and $10 per GB of RAM per month, billed by the second, plus $0.05 per GB of egress and $0.15 per GB of volume storage. Hobby is $5 a month with $5 of usage included; Pro is $20 a month per workspace, not per seat, with unlimited seats and $20 of usage included. Railway also runs a permanent Free plan at $0 a month with $1 of usage credits alongside the 30-day $5 trial, so a small always-on app runs about $5 to $22 a month and a modest production stack near $70. Those are container rates: sandboxes and cloud agents run on Railway's VM primitive at $50 per vCPU and $50 per GB of RAM per month.

13 min read3577