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. For the full setup process, read our guide on how to offload WordPress media 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 Helps WordPress Users Use R2

Image Offload is a WordPress media offloading plugin currently in pre-launch. It helps WordPress users connect their media library to Cloudflare R2 without manually handling every part of the offload workflow.
The free version does not require signup. Users can connect WordPress to Cloudflare R2 and offload new uploads without creating an account. Existing media library bulk offload belongs to Solo and higher paid plans.
Image Offload supports WebP conversion for all users, including the free version. AVIF is planned as a paid feature. It also supports <picture> markup and srcset, so browsers can choose optimized image sources when available.
For paid plans, Image Offload adds managed conversion servers and bulk migration. The confirmed pricing structure is Free, Solo at $49 per year, Agency at $129 per year, and Enterprise at $249 per year. Pricing information can change before or after launch, so users should verify current pricing before buying.
Image Offload Feature Overview
| Feature | Status |
|---|---|
| Free usage without signup | Yes |
| Cloudflare R2 connection | Free |
| Existing media bulk offload | Free |
| New upload offload | Free |
| Existing media bulk offload | Paid, Solo and above |
| WebP conversion | Free |
| AVIF conversion | Coming soon, paid |
<picture> markup | Free |
srcset support | Free |
| Managed conversion servers | Paid |
| Local file deletion | Optional |
| R2 existence check before deletion | Yes |
| Custom domain support | Coming soon, paid |
| Public bucket URLs | Default |
| Gutenberg support | Yes |
| WooCommerce support | Yes |
| Multisite support | Planned for Agency |
Image Offload does not currently claim support for every page builder. Do not assume compatibility with Elementor, Divi, Bricks, Oxygen, CSS background image rewriting, or serialized page builder data unless your setup has been tested.
What Happens If R2 Becomes Unavailable?

Image Offload uses <picture> markup so browsers can load optimized WebP files from R2 while keeping the original image URL available as the <img> fallback.
If you keep local copies after offload, your site can fall back to serving original images from your WordPress server if R2 becomes unavailable. This gives cautious site owners an extra layer of protection.
If you choose to delete local files after offload, image delivery depends on R2 after successful offload. That is the same tradeoff found in cloud offload workflows. You save server storage, but your cloud storage layer becomes required for delivery.
To reduce risk, Image Offload verifies that the file exists in R2 before deleting the local copy. Local deletion does not happen blindly.
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.
In addition, users who want zero technical setup should know that R2 still requires a Cloudflare bucket and API tokens. Image Offload simplifies WordPress integration, but users still create their own R2 bucket and access credentials.
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 based on storage price alone. For WordPress, image delivery matters more than many site owners realize.
Cloudflare R2 pricing for WordPress works best when you combine three benefits: low storage cost, free egress, and a plugin that handles WordPress media behavior correctly.
If you want the lowest-risk setup, keep local copies after offload. If you want to save server disk space, enable local deletion only after you understand the R2 dependency.
Image Offload is currently in pre-launch. Join the waitlist to get early access when the plugin becomes available.
Frequently Asked Questions
No. Cloudflare R2 does not charge internet egress fees. Storage and request operation costs still apply after the free tier.
Cloudflare R2 includes 10 GB-month of free Standard storage each month. After that, Standard storage costs $0.015 per GB-month.
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.
No. The free version does not require a sign-up. Users can connect WordPress to Cloudflare R2 and offload new uploads.
Yes. WebP conversion is available for all users, including the free version.
AVIF is planned as a paid feature and should not be treated as live until release.
If you keep local copies, browsers can fall back to original WordPress image URLs. If you delete local files after offload, image delivery depends on R2 being available.
Yes. Image Offload supports WooCommerce product images.
Custom domain support is planned as a paid feature. Public R2 bucket URLs work by default.
How to Use Cloudflare R2 With WordPress
- Create a Cloudflare R2 bucket.
- Create the required R2 API token.
- Install Image Offload when early access opens.
- Add your R2 credentials in the plugin settings.
- Choose whether to keep local copies or delete them after successful offload.
- Enable WebP delivery if needed.
- Test new uploads.
- Check media library status badges for offloaded, pending, or failed items.
- Use paid bulk migration if you want to offload an existing media library.
- Monitor storage, operations, and image delivery behavior.
Cloudflare R2 pricing for WordPress becomes most powerful when you use it with a safe media workflow. R2 handles storage and removes egress fees. Image Offload handles the WordPress side of the problem.