Cloudflare R2 Pricing for WordPress: Storage, Egress Fees, and Real Costs
June 6, 2026

Cloudflare R2 pricing for WordPress matters because image-heavy websites do not only pay for storage. They also pay for delivery, bandwidth, requests, and plugin setup. Many WordPress users compare storage prices and miss the bigger cost: egress fees.
Cloudflare R2 changes that calculation. R2 includes a free tier, low storage pricing, and zero egress fees. That means you can store media files in object storage and avoid the usual outbound transfer charges that make image delivery expensive on some cloud platforms.
However, R2 is not completely free. Storage stays free only up to the free tier. Request operations can also create small charges. Therefore, the smart way to understand Cloudflare R2 pricing for WordPress is to look at storage, operations, egress, and WordPress integration together.
This guide explains the real R2 cost structure, how it compares with Amazon S3, when it makes sense for WordPress, and how Image Offload helps connect WordPress media libraries to Cloudflare R2.
Quick Answer: Cloudflare R2 Pricing for WordPress
Cloudflare R2 gives you 10 GB-month of free storage each month. It also includes 1 million Class A operations and 10 million Class B operations each month. After that, Standard storage costs $0.015 per GB-month, Class A operations cost $4.50 per million requests, and Class B operations cost $0.36 per million requests.
The biggest advantage is egress. Cloudflare R2 charges $0 for data transfer to the internet. So if your WordPress site serves large image files to visitors, R2 can reduce delivery costs compared with storage services that charge outbound transfer fees.
Still, you should not describe R2 as fully free. A better summary is simple: R2 has a free storage tier, paid storage after 10 GB-month, request operation charges after free limits, and zero internet egress fees.
Why Egress Fees Matter for WordPress
WordPress sites often grow their media libraries faster than expected. A small blog may start with a few images per post. Over time, it may hold thousands of thumbnails, featured images, product photos, gallery files, PDFs, and downloadable assets.
Storage alone rarely causes the biggest bill. Delivery creates the real cost.
Every time a visitor loads a page, the browser requests images. A product page may load a main image, gallery images, thumbnails, logos, icons, and related product images. A blog post may load a featured image, inline images, author images, and responsive sizes. As traffic grows, those image requests increase.
Traditional object storage services often charge for outbound data transfer. If your site sends hundreds of gigabytes or several terabytes of images every month, egress fees can become more expensive than storage.
Cloudflare R2 pricing for WordPress looks attractive because it removes that egress line item. You still pay for storage and operations when you exceed the free tier, but you do not pay Cloudflare for internet data transfer out of R2.
Cloudflare R2 Pricing Breakdown

Cloudflare R2 has three main pricing parts.
1. Storage
R2 Standard storage includes 10 GB-month per month for free. After that, Cloudflare charges $0.015 per GB-month.
| Stored Media | Estimated R2 Storage Cost |
| 10 GB | Usually within free tier |
| 100 GB | Around $1.50 per month |
| 500 GB | Around $7.50 per month |
| 1 TB | Around $15 per month |
These numbers only show storage. They do not include request operation costs. However, for many WordPress sites, storage remains predictable and low.
2. Class A Operations
Class A operations include writes and list actions. In WordPress terms, these usually happen when you upload files, sync files, or manage objects.
Cloudflare includes 1 million Class A operations per month for free. After that, Class A operations cost $4.50 per million requests.
Most normal WordPress sites will not worry much about Class A costs unless they run large imports, frequent migrations, or heavy automation.
3. Class B Operations
Class B operations include reads. These happen when files get requested from R2.
Cloudflare includes 10 million Class B operations per month for free. After that, Class B operations cost $0.36 per million requests.
High-traffic image sites should watch this number, but Class B costs usually remain much lower than egress fees on platforms that charge outbound bandwidth.
4. Egress
Cloudflare R2 charges $0 for internet egress.
That is the main reason WordPress users compare R2 with Amazon S3, Google Cloud Storage, and other object storage services. If your site serves a large amount of image traffic, zero egress can change the total monthly cost.
Check – Cloudflare R2 pricing calculator
Cloudflare R2 vs Amazon S3 for WordPress
Amazon S3 works well and has a mature ecosystem. Many WordPress offload plugins started with S3 support because S3 became the default object storage standard.

However, S3 pricing includes more than storage. AWS gives customers a monthly free regional data transfer allowance to the internet, but usage above that can create transfer charges. For image-heavy WordPress sites, that matters.
| Cost Factor | Amazon S3 | Cloudflare R2 |
|---|---|---|
| Storage | Commonly around $0.023 per GB-month depending on region | $0.015 per GB-month |
| Free storage tier | Depends on the AWS account and free tier terms | 10 GB-month per month |
| Internet egress | Free allowance first, then paid transfer | $0 |
| 100 GB storage | Around $2.30 per month | Around $1.50 per month |
| Large image delivery | Can create outbound transfer cost | No R2 egress fee |
For example, imagine a WordPress site stores 100 GB of images and serves around 1 TB of image data per month. With S3, the first part of that data transfer may fall under the monthly free allowance, but the rest can still create a meaningful outbound transfer bill. With R2, that same outbound transfer does not create an egress fee.
This does not mean R2 costs nothing. It means R2 removes the bandwidth charge that often surprises media-heavy sites.
Read – Amazon S3 pricing
Is R2 a CDN?
No. Cloudflare R2 is object storage. It stores files such as images, PDFs, videos, and downloads.
A CDN helps deliver files quickly from locations close to visitors. R2 can work very well with Cloudflare’s network, especially when you use the right domain and caching setup. Still, you should not treat R2 alone as a complete WordPress image optimization system.
For WordPress, the challenge includes more than storage. You also need URL rewriting, responsive image handling, WebP delivery, fallback behavior, media library status tracking, and safe migration from local storage to cloud storage.
That is where a WordPress plugin becomes useful.
How Image Offload Removes R2 Pricing From the Equation
Everything above assumes you run your own Cloudflare account, create your own bucket, manage your own API tokens, and watch your own usage. That is a real amount of work, and it is work most WordPress site owners do not want.
Image Offload & Optimize takes a different approach. Storage is included with the plugin. We run the R2 buckets, we pay the storage and operation costs, and we handle the CDN in front of them. There is no Cloudflare account to open, no bucket to create, no API token to generate, and no separate cloud bill arriving each month.
You install the plugin, create a free account from the setup wizard, and your images start converting and offloading. That is the whole setup.
Conversion runs on our servers on every plan, including the free one. Your hosting server never does the image processing, so it works the same on cheap shared hosting as it does on a dedicated box. If your host lacks Imagick or GD, or memory limits them, it makes no difference.
What you pay for is capacity, not infrastructure:
- Free: 100 images per month, 200 MB of hosted storage, WebP conversion, one site
- Solo, $49 per year: unlimited images, 10 GB storage, AVIF, a custom CDN domain, original image backup, one site
- Agency, $129 per year: 50 GB storage, 25 sites, multisite support, agency dashboard
- Enterprise, $249 per year: 200 GB storage, unlimited sites
Pricing can change. Check the current pricing page before buying.
Image Offload Feature Overview
| Feature | Availability |
|---|---|
| Hosted storage, no R2 account needed | Every plan |
| Server side conversion | Every plan |
| WebP conversion | Every plan |
| AVIF conversion | Solo and above |
| New upload offload | Every plan |
| Bulk migration of existing media | Every plan |
<picture> markup | Every plan |
| Gutenberg, Classic Editor, Elementor, Divi | Every plan |
| ACF and custom fields | Every plan |
| CDN delivery | Every plan |
| Custom CDN domain | Solo and above |
| Original image backup | Solo and Above |
| Multisite | Agency and above |
| Agency dashboard | Agency and above |
Compatibility beyond the integrations listed above has not been verified. Do not assume support for Bricks, Oxygen, CSS background image rewriting, or serialized page builder data unless your setup has been tested.
What Happens If R2 Becomes Unavailable?
Every step of the process has a fallback, so a failure at any stage leaves your page still rendering an image.
If conversion or offloading fails, the image keeps using its original local URL and is marked failed in the plugin so you can retry it from bulk migration. If URL rewriting does not apply to an image, the original local URL renders.
Your local files are never deleted. The plugin stores a converted copy in the cloud and rewrites your image URLs; the originals stay on your server. On Solo and above your original is also backed up to our storage.
Who Should Use Cloudflare R2 for WordPress?
Cloudflare R2 pricing for WordPress makes the most sense for sites with growing media libraries and meaningful image traffic.

R2 is a strong fit for:
- WooCommerce stores with many product images
- Photography portfolios
- Design and creative agency sites
- Content-heavy blogs
- Travel websites
- Food blogs
- LMS and course websites
- Membership sites with downloadable files
- Agencies managing many WordPress sites
- Developers who want object storage without egress fees
If your hosting storage keeps filling up, or your bandwidth cost keeps rising, R2 deserves serious attention.
Who May Not Need R2 Yet?
Not every WordPress site needs object storage immediately.
You may not need R2 if your site has a small media library, low traffic, and enough hosting storage. You may also wait if your setup relies heavily on untested page builders, custom CSS background images, or complex media handling.
If you do want object storage but not the administration that comes with it, running your own bucket is not the only option. Image Offload & Optimize includes hosted storage on every plan, so there is no Cloudflare account, bucket, or API token to manage.
How to Estimate Your R2 Cost

Follow this simple process.
- Step 1: Check Your Media Library Size
- Look at your uploads folder or hosting storage panel. Estimate how many gigabytes your images and media files use.
- Step 2: Estimate Monthly Image Delivery
- Use analytics, CDN logs, hosting bandwidth reports, or server logs. Find out how much image traffic your site serves monthly.
- Step 3: Calculate R2 Storage
- Multiply storage above the free tier by $0.015 per GB-month.
- Step 4: Consider Request Operations
- Most normal WordPress sites will not see large request costs. Still, high-traffic websites should estimate Class B read operations.
- Step 5: Compare Against S3-Style Egress
- If your current storage provider charges outbound transfer, estimate that cost separately. This is where R2 often wins.
Practical Recommendation

Do not choose object storage on storage price alone. For WordPress, image delivery matters more than most site owners realise, and the cost that catches people out is bandwidth, not gigabytes.
If you want to run your own R2 bucket, the numbers above are the ones to model. If you would rather not think about buckets, tokens, or a second cloud bill, Image Offload & Optimize includes the storage, the conversion, and the CDN in one plugin, on every plan including the free one.
Frequently Asked Questions
No, Storage is included with every plan and managed by us. There is no bucket to create and no API token to generate.
Cloudflare R2 can be cheaper for image-heavy WordPress sites because it charges zero egress fees. Amazon S3 remains powerful, but outbound transfer can add cost after the free allowance.
Yes. WordPress can use R2 for media storage through plugins that support R2 or S3-compatible object storage.
Yes. You create a free account from the setup wizard inside WordPress. It takes about a minute and no payment details are needed for the free plan.
Yes, on every plan including free. Conversion runs on our servers, so your hosting environment does not affect whether images convert.
AVIF is available on Solo and above. It produces smaller files than WebP and takes more processing to encode.
The plugin falls back to the original local image URL, so your page keeps rendering.
Yes, on every plan including free. Product images, variation images, gallery images and cart thumbnails are all handled.
Yes, on Solo and above. Images are served from your own subdomain instead of ours.
How to Use Cloudflare R2 With WordPress
- Install Image Offload & Optimize from WordPress.org.
- Activate it, then open Image Offload in your WordPress admin sidebar.
- Create your free account from the setup wizard. No storage credentials, no bucket setup.
- Upload an image. It converts and offloads automatically.
- Run bulk migration to offload your existing media library.
- Check the media library status badges for offloaded, pending, or failed items.
Cloudflare R2 pricing for WordPress is worth understanding, because it tells you what image storage and delivery actually cost. The alternative is not paying those costs yourself. Image Offload & Optimize includes storage, conversion, and CDN delivery in one plugin, so there is no second cloud bill to model.