Back to Engineering Insights
Cloud Cost Optimization
Apr 8, 2026
By Ravi Kanani

Cloudflare Images Pricing in 2026: Storage, Delivery, and Transformation Costs vs Cloudinary and imgix

Cloudflare Images Pricing in 2026: Storage, Delivery, and Transformation Costs vs Cloudinary and imgix
Key Takeaway

Cloudflare Images costs $5 per 100K images stored plus $1 per 100K images delivered in 2026, with no bandwidth or egress fees. For a typical 100K-image catalog with 5M monthly deliveries, that works out to roughly $55/month. Cloudinary costs 3-5x more at the same scale due to transformation credits and bandwidth charges. The cheapest option for high-traffic sites is still Cloudflare R2 + Workers for custom transformations, but Images wins on simplicity.

$5 Per 100K Images With Zero Egress. Seriously.

If you have spent any time on Cloudinary or imgix invoices, you know the feeling: the base plan looks reasonable, then transformation credits, bandwidth overages, and "advanced optimization" add-ons quietly triple the bill. We audited a media company last quarter that was paying $1,200/month on Cloudinary for what turned out to be 180K images and 12M monthly deliveries. They moved to Cloudflare Images and the bill dropped to $125.

Cloudflare Images takes a deliberately simple approach to pricing. You pay for two things: images stored and images delivered. No bandwidth tiers. No transformation credits. No format conversion surcharges. No CDN egress fees. The entire delivery network (300+ edge locations) is included in that flat per-delivery fee.

This post breaks down every Cloudflare Images cost in 2026, models real bills at three different scales, compares pricing against Cloudinary, imgix, and ImageKit, and helps you decide when the DIY approach (Cloudflare R2 + Workers) makes more financial sense.

If you are evaluating broader media delivery costs including video, check our media storage and serverless cost comparison for the full landscape.


Cloudflare Images Pricing: The Complete 2026 Breakdown

Cloudflare Images uses a consumption-based model with two billing dimensions. There are no plan tiers, no feature gates, and no surprise bandwidth charges.

Core Pricing

ComponentRate (2026)Unit
Image Storage$5.00 per 100,000 images/monthPer image stored
Image Delivery$1.00 per 100,000 images servedPer delivery request
Variants (transformations)IncludedUp to 100 named variants
Format conversion (WebP/AVIF)IncludedAutomatic via Accept header
CDN delivery (300+ PoPs)IncludedZero bandwidth fees
Custom domainIncludedCNAME to your domain
API accessIncludedUpload, delete, list operations

A few things that make this pricing unusual:

  • No bandwidth fees. Whether your average image is 50KB or 5MB, the delivery cost is the same $0.00001 per serve. This is the single biggest differentiator from Cloudinary and imgix, which charge per GB of bandwidth.
  • Variants are free. You define up to 100 named variants (thumbnail, hero, social-share, etc.) and Cloudflare generates them on first request, then caches globally. No per-transformation charge.
  • Format negotiation is automatic. Upload a JPEG, and Cloudflare serves AVIF to Chrome, WebP to Safari, and the original JPEG to legacy browsers. You do not pay extra for this.
  • Storage is per-image, not per-byte. A 100KB product photo and a 15MB RAW-converted hero image both count as one stored image. This benefits sites with large originals.

What is NOT Included

FeatureAvailabilityNotes
Video processingSeparate product (Cloudflare Stream)Different pricing model entirely
More than 100 variantsContact salesMost sites need 5-15 variants
Batch upload APIIncluded but rate-limited10 requests/second default
Direct Creator UploadsIncludedOne-time upload URLs for user-generated content
Image AI (captioning, tagging)Not availableUse external service + metadata

Real-World Cost Modeling

Abstract per-image pricing means nothing without context. Here is what Cloudflare Images actually costs at three different scales.

Small E-commerce Store (10K Products)

MetricValueMonthly Cost
Images stored10,000 (3 variants each = 30K deliverable, but storage counts originals only)$0.50
Monthly page views200,000--
Image deliveries/month800,000 (avg 4 images per page)$8.00
Total monthly cost$8.50

For comparison, this same workload on Cloudinary's Plus plan ($89/month base) would consume roughly half the included credits, putting effective cost at $89-120/month.

Mid-Size Media Site (100K Images)

MetricValueMonthly Cost
Images stored100,000$5.00
Monthly page views2,000,000--
Image deliveries/month5,000,000 (avg 2.5 images per page + thumbnails)$50.00
Total monthly cost$55.00

This is the scale where Cloudflare Images starts to massively undercut alternatives. Cloudinary at 5M transformations/month costs $150-250 depending on plan. imgix at 5M renders charges approximately $160-200. The gap is almost entirely due to bandwidth.

Large Platform (1M+ Images, High Traffic)

MetricValueMonthly Cost
Images stored1,000,000$50.00
Monthly page views20,000,000--
Image deliveries/month50,000,000$500.00
Total monthly cost$550.00

At this scale, you should seriously evaluate the R2 + Workers approach (covered below) which could drop costs to $200-300/month. But $550/month for a fully managed image CDN serving 50M requests across 300+ edge locations is still remarkably cheap. Cloudinary at this volume runs $2,000-4,000/month. imgix quotes custom enterprise pricing but typically lands at $1,500-2,500.


Cloudflare Images vs Cloudinary vs imgix: 2026 Pricing Comparison

This is the table most teams need. We modeled the same workload (100K images, 5M monthly deliveries, average 200KB served size) across all four major platforms.

FeatureCloudflare ImagesCloudinary (Plus)imgix (Growth)ImageKit (Business)
Monthly base cost$0 (pay per use)$89/month$100/month$89/month
Storage (100K images)$5.00Included (25GB)Included (500GB)Included (100GB)
Deliveries (5M/month)$50.00~$150 (credits)~$120 (renders)~$80 (bandwidth)
Bandwidth (1TB served)$0 (included)$40-80 (overages)$0 (included in renders)$45 (overages)
Format conversionIncludedIncludedIncludedIncluded
Custom domainIncludedIncludedIncludedIncluded
Effective monthly cost$55$200-250$160-220$130-170
Cost per 1K deliveries$0.01$0.04-0.05$0.03-0.04$0.025-0.035

Where Each Platform Wins

Cloudflare Images wins when:

  • High delivery volume relative to storage (content sites, media, e-commerce)
  • Predictable costs matter more than advanced transformations
  • You already use Cloudflare for DNS/CDN (zero additional latency)
  • Budget is the primary constraint and you need "good enough" transformations

Cloudinary wins when:

  • You need advanced transformations (AI cropping, background removal, video transcoding)
  • Your workflow requires a visual DAM (Digital Asset Management) interface
  • You need extensive SDK support with framework-specific components
  • Transformation complexity matters more than per-unit cost

imgix wins when:

  • You need real-time rendering with complex URL-based parameters
  • Image quality at specific sizes is critical (editorial, photography)
  • You want to keep originals in your own S3/GCS bucket
  • You need PDF rendering or custom watermarking at scale

ImageKit wins when:

  • You want a middle ground between Cloudflare simplicity and Cloudinary features
  • You need URL-based transformations AND a media library
  • Your traffic is concentrated in specific regions (India/Asia pricing is competitive)

The DIY Alternative: Cloudflare R2 + Workers

Here is the approach we recommend for teams with engineering capacity and high traffic volumes. Instead of paying per-delivery on Cloudflare Images, you store originals in R2 (zero egress) and run a Worker that handles transformations on the fly.

R2 + Workers Cost Model (Same 100K Images, 5M Deliveries)

ComponentRateMonthly Cost
R2 storage (100K images, avg 2MB = 200GB)$0.015/GB/month$3.00
R2 Class B operations (reads, 5M)$0.36/million$1.80
Workers requests (5M)$0.30/million (after free 10M)$0.00 (within free tier)
Workers compute (avg 10ms CPU)$12.50/million ms~$0.60
Total monthly cost$5.40

Read that table again. The same workload that costs $55 on Cloudflare Images and $200+ on Cloudinary costs $5.40 with R2 + Workers. The catch? You need to build and maintain the transformation logic yourself.

When R2 + Workers Makes Sense

  • You already have engineering capacity to build a Worker
  • You serve more than 1M images per month
  • Your transformation needs are simple (resize, crop, format convert)
  • You want maximum cost predictability at high scale
  • You are comfortable with Cloudflare's cf-image-resizing Worker API

When It Does NOT Make Sense

  • Your team is small and cannot maintain custom infrastructure
  • You need instant setup with zero development time
  • You require advanced AI-powered transformations
  • You change transformation logic frequently (A/B testing image sizes)
  • Your total delivery volume is under 500K/month (the $55 Cloudflare Images bill is fine)

For a deeper look at R2 storage pricing specifically, see our Cloudflare R2 pricing breakdown.


Cloudflare Images vs Cloudflare Polish vs Image Resizing: Which One?

Cloudflare offers three overlapping image optimization products, and the naming is genuinely confusing. Here is what each actually does.

ProductWhat It DoesPricingBest For
Cloudflare ImagesFull image hosting, delivery, and transformation$5/100K stored + $1/100K deliveredTeams that want Cloudflare to host images entirely
PolishLossless/lossy compression of images passing through Cloudflare CDNIncluded in Pro+ plans ($20/month)Sites that host images elsewhere but want automatic optimization
Image ResizingOn-the-fly resize/crop via URL parameters for images on your originIncluded in Pro+ (50K unique transforms) or $9/50K on BusinessSites that want to keep their own origin server but resize at the edge

The decision framework:

  1. If you want Cloudflare to be your entire image infrastructure (upload, store, transform, deliver): use Cloudflare Images
  2. If you already have images hosted on S3/R2/your server and just want them compressed automatically: use Polish (included in your Pro plan)
  3. If you host images elsewhere but want edge-side resizing without moving storage: use Image Resizing
  4. If you want maximum control and minimum cost: use R2 + Workers with the Image Resizing API

Optimizing Your Cloudflare Images Bill

Even with simple pricing, there are ways to reduce costs further.

1. Minimize Stored Images

Cloudflare charges per original image stored, not per variant. But images you have uploaded and forgotten about still cost money. Audit quarterly:

# List all images via API to find unused ones
curl -X GET "https://api.cloudflare.com/client/v4/accounts/{account_id}/images/v1" \
  -H "Authorization: Bearer {api_token}" \
  -H "Content-Type: application/json"

Delete images that have not been delivered in 90+ days. At $5/100K images, this is minor savings individually but adds up for large catalogs with seasonal content.

2. Reduce Delivery Count With Caching

Cloudflare Images are already served from the CDN cache, but if you use custom variants with unique URLs, ensure your HTML does not bust the cache unnecessarily. Every cache miss counts as a delivery.

  • Use consistent variant URLs (do not append random query strings)
  • Set appropriate Cache-Control headers via Transform Rules
  • Leverage cf-cache-status: HIT headers to verify cache efficiency

3. Lazy Load Below-the-Fold Images

Every image request counts as a delivery. If your page loads 20 images but users only see 4 above the fold, you are paying for 20 deliveries regardless. Implement native lazy loading:

<img
  src="https://imagedelivery.net/{hash}/{variant}"
  loading="lazy"
  alt="..."
/>

This reduces effective deliveries by 30-60% on content-heavy pages.

4. Use Fewer, Smarter Variants

You get 100 variants included, but each unique variant URL served counts as a delivery. Instead of creating 20 size-specific variants, use responsive images with 3-4 breakpoints:

  • thumbnail (200px wide)
  • card (400px wide)
  • hero (1200px wide)
  • full (original size, format-optimized)

Four variants cover 95% of use cases. Do not create variants you will not use.


When Cloudflare Images Is NOT the Right Choice

We believe in honest recommendations. Here is when you should look elsewhere:

You need video processing. Cloudflare Stream exists but is priced separately ($5/1K minutes stored + $1/1K minutes delivered). If you need unified image + video, Cloudinary or Mux + Cloudflare Images is a better combination.

You need AI-powered transformations. Background removal, smart cropping with face detection, text overlays with dynamic data. Cloudinary and imgix have years of investment in these features. Cloudflare Images does resize, crop, and format conversion well but stops there.

You need a visual media library. If non-technical team members (marketers, designers) need to browse, tag, and organize assets through a GUI, Cloudinary's DAM or Uploadcare is a better fit. Cloudflare Images is API-first with a minimal dashboard.

Your compliance requires specific data residency. Cloudflare Images stores data across their global network. If you need images stored exclusively in EU or specific countries, you will need R2 with jurisdiction restrictions instead.


The Bottom Line

Cloudflare Images is the most cost-effective managed image CDN in 2026 for teams that need simple, reliable image delivery without managing infrastructure. At $5 per 100K stored and $1 per 100K delivered with zero bandwidth fees, it undercuts Cloudinary by 60-80% and imgix by 40-60% at typical scales.

For teams serving more than 1M deliveries monthly with engineering capacity to spare, the R2 + Workers approach drops costs another 90% but requires building and maintaining custom transformation logic.

If your current image delivery costs are eating into margins and you want a clear picture of what you could save across your entire cloud stack, take our free Cloud Waste and Risk Scorecard. We typically find 30-50% in savings across CDN, storage, and compute for media-heavy applications.

For hands-on help migrating from Cloudinary or imgix to Cloudflare Images (or the R2 + Workers approach), our cloud cost optimization team handles the migration, validates performance parity, and guarantees at least 30% cost reduction or you do not pay.


Further reading:

Frequently Asked Questions

Stop Overpaying for Cloud Infrastructure

Our clients save 30-60% on their cloud bill within 90 days. Get a free Cloud Waste Assessment and see exactly where your money is going.