Skip to content
inetGeek

Cloudflare R2 vs Amazon S3

SEPT 2026 audit

A comparison of Cloudflare R2 and Amazon S3 built from values read directly from each provider's own documentation, with the source recorded against every figure.

Reviewed by Palash BagchiUpdated 18 criteria comparedSources last checked

The short answer

Choose Cloudflare R2 if…

Serving files to the public, where egress is the bill everyone underestimates. Nothing to pay for bandwidth out, on any storage class, so a busy bucket costs what it costs to store rather than what it costs to read.

Editorial · Palash Bagchi · approved

Choose Amazon S3 if…

Workloads already inside AWS, where keeping data in the same region as the compute avoids the transfer charges that dominate an object storage bill.

Editorial · Palash Bagchi · approved

Consider something else if…

  • Cloudflare R2: Operations are charged and rounded up to the whole million, so a workload of many tiny reads and writes pays here instead. The saving is on bandwidth, not on request volume.
  • Amazon S3: Egress is the cost that decides this category and S3 charges for it, where R2, Wasabi and Tigris do not. Prices also vary by region, so a figure quoted anywhere is only true for the region it was read in.

Neither quite fits? Every other option, ranked by iScore: Cloudflare R2 alternatives · Amazon S3 alternatives

8 sourced criteria separate them — see where, with sources, below.

No affiliate links, sponsored placements or paid rankings appear on this site. Ordering follows the sourced data and the stated criteria.

01.

At a glance.

CriterionCloudflare R2Amazon S3
Pricing
Free tierYesYes
Kind of free offerFree tierIntroductory free tier
What the free plan includes10 GB-month of standard storage, 1 million Class A and 10 million Class B operations a month, and egress free with no cap. The allowance covers standard storage only, not infrequent access.100 GB a month of data transfer out to the internet, counted globally rather than per region. Storage itself is billed from the first byte.
Egress over allowance
Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.
$0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all.
Limits
Storage (entry plan)10 GB-month free each month, plus 1 million Class A and 10 million Class B operationsNone. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance.
Infrastructure
Uptime SLA
99.9% monthly uptime, in a dedicated R2 SLA that applies to use of R2 only and names no plan tier. The SLA settles its own precedence — "in the event of a conflict between the terms of this R2 SLA and ... other agreement governing Customer’s use of the Services, the terms of this R2 SLA apply" — so Cloudflare’s application-services plan table, which covers the website plans rather than the Developer Platform, does not qualify it. The remedy is a credit set as a percentage of the fees paid for that product in the preceding 30 days, so the commitment stands on a free account while the compensation for breaching it is worth nothing there.
99.9% for S3 Standard, Express One Zone and the Glacier retrieval classes; 99.0% for Intelligent-Tiering, Standard-Infrequent Access, One Zone-IA and Glacier Instant Retrieval.
Storage
Storage price
$0.015 per GB-month for Standard, $0.01 for Infrequent Access. Billed rounded up to the whole GB-month.
$0.023 per GB-month for S3 Standard, first 50 TB, in us-east-1. S3 prices vary by region; this and every other S3 figure on the site is that region.
Operations price$4.50 per million Class A operations (writes and listings) and $0.36 per million Class B (reads) on Standard; $9.00 and $0.90 on Infrequent Access. Rounded up to the whole million.$0.005 per 1,000 PUT, COPY, POST and LIST requests, and $0.004 per 10,000 GET and all other requests, in us-east-1. DELETE and CANCEL are free.
Minimum storage durationNone on Standard storage — billing averages peak storage per day, so an object deleted after five days is charged for five days. Infrequent Access carries a 30-day minimum, billed even if the object is deleted, moved or replaced sooner.None on S3 Standard. 30 days on Standard-IA and One Zone-IA, 90 days on Glacier Instant and Flexible Retrieval, 180 days on Glacier Deep Archive, each with a pro-rated charge for early deletion.
S3-compatible APISupportedSupported

Only criteria both providers publish appear here; a tinted cell marks a real difference. Criteria only one of them documents are listed below, and an absence there means we found no source — not that the feature is missing. How we source this.

The small bar above a value is inetGeek's own lean toward that side — computed from the same facts shown, never a number the provider published. See the picker below "The short answer" to weigh only the criteria you care about.

02.

Where they differ.

Kind of free offer

Cloudflare R2
Free tier
Amazon S3
Introductory free tier
Sources (2) →

What the free plan includes

Cloudflare R2
10 GB-month of standard storage, 1 million Class A and 10 million Class B operations a month, and egress free with no cap. The allowance covers standard storage only, not infrequent access.
Amazon S3
100 GB a month of data transfer out to the internet, counted globally rather than per region. Storage itself is billed from the first byte.
Sources (2) →
  • R2 Pricing — Cloudflare ↗

    “Free storage 10 GB-month / month Class A operations 1 million requests / month Class B operations 10 million requests / month Egress (data transfer to Internet) Free”

    Read 2026-09-13 · official pricing · Report a correction

  • Amazon S3 pricing ↗

    “The 100 GB free tier for data transfer out to the internet is global and does not apply separately or individually to AWS Regions.”

    Read 2026-09-13 · official pricing · Report a correction

Egress over allowance

Cloudflare R2
Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.
Amazon S3
$0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “For the Infrequent Access storage class, data retrieval fees apply. There are no charges for egress bandwidth for any storage class. [...] Egress (data transfer to Internet) Free Free”

    Read 2026-09-06 · official pricing · Report a correction

  • AWS Price List API — AWSDataTransfer, us-east-1 ↗

    “"$0 for 100GB of data transfer out to the internet, aggregated globally" [...] "$0.090 per GB - first 10 TB / month data transfer out beyond the global free tier" [...] "$0.085 per GB - next 40 TB / month" [...] "$0.070 per GB - next 100 TB / month" [...] "$0.050 per GB - greater than 150 TB / month"”

    Read 2026-09-06 · official pricing · Report a correction

Storage (entry plan)

Cloudflare R2
10 GB-month free each month, plus 1 million Class A and 10 million Class B operations
Amazon S3
None. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “You can use the following amount of storage and operations each month for free. [...] Storage 10 GB-month / month Class A Operations 1 million requests / month Class B Operations 10 million requests / month”

    Read 2026-09-06 · official pricing · Report a correction

  • Amazon S3 Pricing ↗

    “Pay only for what you use. There is no minimum charge. Amazon S3 cost components are storage pricing, request and data retrieval pricing, data transfer and transfer acceleration pricing”

    Read 2026-09-07 · official pricing · Report a correction

Uptime SLA

Cloudflare R2

99.9% monthly uptime, in a dedicated R2 SLA that applies to use of R2 only and names no plan tier. The SLA settles its own precedence — "in the event of a conflict between the terms of this R2 SLA and ... other agreement governing Customer’s use of the Services, the terms of this R2 SLA apply" — so Cloudflare’s application-services plan table, which covers the website plans rather than the Developer Platform, does not qualify it. The remedy is a credit set as a percentage of the fees paid for that product in the preceding 30 days, so the commitment stands on a free account while the compensation for breaching it is worth nothing there.

Amazon S3

99.9% for S3 Standard, Express One Zone and the Glacier retrieval classes; 99.0% for Intelligent-Tiering, Standard-Infrequent Access, One Zone-IA and Glacier Instant Retrieval.

Sources (2) →
  • R2 Service Level Agreement — Cloudflare ↗

    “This R2 Service Level Agreement ("R2 SLA") applies to use of R2 only. In the event of a conflict between the terms of this R2 SLA and the terms of the Enterprise Customer Support and Service Level Agreement, Enterprise Subscription Terms of Service, or other agreement governing Customer’s use of the Services (the "Agreement"), the terms of this R2 SLA apply, but only to the extent of such conflict. [...] Cloudflare will provide a Monthly Uptime Percentage of 99.9% for Customer’s use of R2 ("Service Level Objective"). [...] a credit against future payments for Customer’s R2 usage based on the percentage of the fees paid by Customer for R2 usage in the thirty (30) days preceding submission of a valid Claim”

    Read 2026-09-21 · official site · Report a correction

  • Amazon S3 Service Level Agreement ↗

    “For requests to S3 Standard, S3 Express One Zone, S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, and all other requests not specified below: Monthly Uptime Percentage Service Credit Percentage Less than 99.9% but greater than or equal to 99.0% 10% [...] For requests to S3 Intelligent-Tiering, S3 Standard-Infrequent Access, S3 One Zone-Infrequent Access, and S3 Glacier Instant Retrieval: Monthly Uptime Percentage Service Credit Percentage Less than 99.0% but greater than or equal to 98.0% 10%”

    Read 2026-09-14 · official site · Report a correction

Storage price

Cloudflare R2
$0.015 per GB-month for Standard, $0.01 for Infrequent Access. Billed rounded up to the whole GB-month.
Amazon S3
$0.023 per GB-month for S3 Standard, first 50 TB, in us-east-1. S3 prices vary by region; this and every other S3 figure on the site is that region.
Sources (2) →

Operations price

Cloudflare R2
$4.50 per million Class A operations (writes and listings) and $0.36 per million Class B (reads) on Standard; $9.00 and $0.90 on Infrequent Access. Rounded up to the whole million.
Amazon S3
$0.005 per 1,000 PUT, COPY, POST and LIST requests, and $0.004 per 10,000 GET and all other requests, in us-east-1. DELETE and CANCEL are free.
Sources (2) →
  • R2 pricing — Cloudflare Docs ↗

    “Class A Operations $4.50 / million requests $9.00 / million requests Class B Operations $0.36 / million requests $0.90 / million requests [...] If you have performed one million and one operations, you will be billed for two million operations.”

    Read 2026-09-06 · official pricing · Report a correction

  • AWS Price List API — AmazonS3, us-east-1 ↗

    “"description": "$0.005 per 1,000 PUT, COPY, POST, or LIST requests" [...] "description": "$0.004 per 10,000 GET and all other requests" [...] DELETE and CANCEL requests are free.”

    Read 2026-09-06 · official pricing · Report a correction

Minimum storage duration

Cloudflare R2

None on Standard storage — billing averages peak storage per day, so an object deleted after five days is charged for five days. Infrequent Access carries a 30-day minimum, billed even if the object is deleted, moved or replaced sooner.

Amazon S3

None on S3 Standard. 30 days on Standard-IA and One Zone-IA, 90 days on Glacier Instant and Flexible Retrieval, 180 days on Glacier Deep Archive, each with a pro-rated charge for early deletion.

Sources (2) →
  • Pricing — Cloudflare R2 docs ↗

    “Storage class Minimum storage duration Standard storage None Infrequent Access storage 30 days [...] you will be charged for the object for the minimum storage duration even if the object was deleted or moved before the duration specified”

    Read 2026-09-07 · official docs · Report a correction

  • S3 Pricing — AWS ↗

    “S3 Standard-IA, and S3 One Zone-IA storage are charged for a minimum storage duration of 30 days [...] Objects that are archived to S3 Glacier Instant Retrieval and S3 Glacier Flexible Retrieval are charged for a minimum storage duration of 90 days, and S3 Glacier Deep Archive has a minimum storage duration of 180 days.”

    Read 2026-09-06 · official docs · Report a correction

When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.

Confirm by email; unsubscribe from any issue. Your address goes to Kit and nowhere else — what we do with it.

03.

Documented by only one.

These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing — except where we say we read the other provider's own page on a given date and it does not state it. Those rows lean, and the provider can correct them with a link.

When the free offer endsAmazon S3: 6 months after account creation; Free Tier credits expire 12 months after that date.
Pricing modelAmazon S3: Per region and per storage class, with storage, requests, retrievals, data transfer and management features each metered separately. AWS states there is no minimum charge, and bills storage in binary gigabytes — 1 GB is 2^30 bytes, not 10^9.
SOC 2Amazon S3: Listed as SOC-compliant on AWS's own compliance scope page.Cloudflare R2: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Cloudflare R2.
ISO 27001Amazon S3: Covered under AWS's account-wide ISO/IEC 27001:2022 certification — not scoped per-service the way SOC, HIPAA and PCI DSS are on AWS's own site.Cloudflare R2: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Cloudflare R2.
HIPAAAmazon S3: Listed as a HIPAA-eligible service on AWS's own reference page.Cloudflare R2: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Cloudflare R2.
GDPR / data residencyAmazon S3: AWS customers can process personal data on all AWS services in compliance with GDPR, and choose the storage type and geographic region for their data.Cloudflare R2: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Cloudflare R2.
PCI DSSAmazon S3: Listed as PCI DSS-compliant on AWS's own compliance scope page.Cloudflare R2: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Cloudflare R2.
Encryption at restCloudflare R2: All objects and metadata encrypted at rest with AES-256-GCM automatically, no configuration required.Amazon S3: not stated on its own page when read on 2026-09-21 — corrections welcome · every such claim about Amazon S3.
04.

Questions this comparison answers.

Egress over allowance: Cloudflare R2 or Amazon S3?

Cloudflare R2: Free. Cloudflare charges nothing for egress to the internet on any storage class; Infrequent Access adds a $0.01/GB retrieval fee instead.

Amazon S3: $0.09 per GB for the first 10 TB a month out to the internet, after a free 100 GB aggregated globally. It falls to $0.085 above 10 TB, $0.07 above 50 TB and $0.05 above 150 TB. This is AWS's outbound data transfer rate rather than an S3-specific one — the charge that R2, Wasabi and Tigris do not levy at all.

Storage (entry plan): Cloudflare R2 or Amazon S3?

Cloudflare R2: 10 GB-month free each month, plus 1 million Class A and 10 million Class B operations

Amazon S3: None. S3 has no plans and no included storage — AWS states there is no minimum charge and you pay only for what you use, billed per GB-month from the first byte. New accounts get AWS Free Tier credits ($100 immediately, up to $200 over six months) which are spendable credit rather than a standing storage allowance.

Should I choose Cloudflare R2 or Amazon S3?

Pick Cloudflare R2 if Serving files to the public, where egress is the bill everyone underestimates. Nothing to pay for bandwidth out, on any storage class, so a busy bucket costs what it costs to store rather than what it costs to read.

Pick Amazon S3 if Workloads already inside AWS, where keeping data in the same region as the compute avoids the transfer charges that dominate an object storage bill.

Provider pages

Related comparisons

Comments

Every page here is sourced and dated.