Two ways to use it. Transforming images that live elsewhere (R2, S3, your server) bills only unique transformations, so images_stored and bandwidth_gb cost nothing here — but the bucket is a separate bill (R2: 10 GB free, then $0.015/GB, no egress fees). Storing images in Cloudflare Images bills images stored and images delivered, not transformations. Images delivered are converted from bandwidth at 100 KB per optimized image: $1 per 100,000 images = $0.10 per GB. Storage blocks of 100,000 are modelled as $5 including the first 100,000 then $0.00005 per image; in reality each further block is another $5. The pricing page states no other minimum fee. Cloudflare Stream (video) is priced separately and left out.
Image & Video Hosting pricing, compared
Pick a scale or set your usage. Each tool shows its cheapest plan for it, cheapest first, with the arithmetic and the vendor's pricing page. Price is one input — which one fits your situation matters as much.
Optimizer covers unlimited requests, optimizations and transformations, so transformations cost nothing extra. Bandwidth uses the Standard network's Europe and North America rate ($0.01/GB, from https://bunny.net/pricing/cdn/); the Volume network is $0.005/GB but with 10 PoPs. Storage is Bunny Storage Standard in one region ($0.01/GB, from https://bunny.net/pricing/storage/; replication costs more), converted at 500 KB per original — or keep originals in any origin you already pay for. Bunny Stream (video) is left out.
Image transformations aren't billed on any plan, so the transformations driver costs nothing. Storage converts at 500 KB per original (2,000 images per GB): Free 3 GB, Lite 10 GB then $0.10/GB, Pro 225 GB then $0.09/GB. If your originals stay in your own bucket, storage at ImageKit is zero and you pay the bucket instead. Video processing units (500 on Free and Lite, 5,000 on Pro then $9 per 10,000) and extension units for AI add-ons (650 / 650 / 4,000, Pro $9 per 5,000 more) are left out.
Rates are iad1 (Washington D.C.); other regions cost up to $0.0812 per 1,000 transformations. Each transformation is $0.00005 plus its cache write: a 100 KB optimized image is about 13 write units of 8 KB at $0.000004 = $0.000052, so $0.000102 per transformation. Cache reads are left out (small, and not billed for regional cache hits); so are CDN Requests ($2 per million on demand, 1M in the Flat Rate included tier). Source images stay in your deployment or bucket, so images_stored costs nothing here. Hobby includes 5,000 transformations, 300,000 cache reads and 100,000 cache writes a month; its 100 GB is the account's whole transfer allowance. The $20 Pro fee is the platform plan you'd pay anyway for hosting; its $20 monthly usage credit can absorb image costs but is shared with all other usage, so it isn't modelled. Only modelled for Vercel-hosted sites, since it's built into Next.js <Image>.
Credit costs (https://www.imgix.com/pricing-faq): 2 credits per GB of cached originals per month (0.001 per original at 500 KB), 1 credit per 500 standard renders, 1 credit per GB delivered, all from one bundle; extra credits are billed at the bundle’s per-credit price. The cached-originals storage is assumed to hold all your originals; only those fetched recently may count. Annual bundles are 15% cheaper. AI features cost far more credits.
One credit is 1 GB stored (about 2,000 originals at 500 KB), 1,000 transformations or 1 GB delivered, all drawn from the same monthly credits; the self-serve plans sell no extra credits. Derived assets also count toward storage, so real storage use is higher than originals alone. Cloudinary’s documentation mentions a Pro pay-as-you-go tier at $0.45 per extra credit, but the live pricing page lists only Free, Plus, Advanced and Enterprise, so it isn’t modelled. Video processing and video bandwidth are left out; add-ons are extra. Enterprise is custom-priced.
Read from each vendor's pricing page (oldest check 2026-10-08). The model is plan fee + usage beyond what's included × the vendor's rate; volume discounts, annual billing, taxes and regional prices are left out — see each tool's notes. Always confirm on the vendor's page before you commit.
Cost as you grow
Each tool's cheapest usable plan as the product grows.
At three scales
| Tool | Side projectimages stored 1k images, new image variants generated 5k transformations, images delivered 10 GB | Growingimages stored 5k images, new image variants generated 10k transformations, images delivered 50 GB | Scalingimages stored 500k images, new image variants generated 500k transformations, images delivered 1k GB |
|---|---|---|---|
| $0Free (images in your own bucket) | $2.50Paid (images in your own bucket) | $125Paid (images stored in Cloudflare Images) | |
| $9.61Optimizer + Standard CDN + Storage | $10Optimizer + Standard CDN + Storage | $22Optimizer + Standard CDN + Storage | |
| $0Forever Free | $14Lite | $440Pro | |
| $0Hobby | $21Pro (Flat Rate CDN, included tier) | $71Pro (Flat Rate CDN, included tier) | |
| imgix | $25Starter | $25Starter | $400Growth |
| $0Free | $99Plus | —over limits |
Every plan
What each image & video hosting plan costs, includes and caps, as modelled here.
CloudflareCloudflare Images: transforming images kept in your own bucket is free for 5,000 unique transformations a month, then $0.50 per 1,000; storing them in Images costs $5 per 100,000 images plus $1 per 100,000 delivered.
| Plan | Monthly fee | Images stored | New image variants generated per month | Images delivered per month |
|---|---|---|---|---|
| Free (images in your own bucket) | Free | — | up to 5k transformations | — |
| Paid (images in your own bucket) | None | — | 5k transformations includedthen $0.5 per 1,000 transformations | — |
| Paid (images stored in Cloudflare Images) | $5.00/mo | 100k images includedthen $0.05 per 1,000 images | — | $0.1 per GB |
Two ways to use it. Transforming images that live elsewhere (R2, S3, your server) bills only unique transformations, so images_stored and bandwidth_gb cost nothing here — but the bucket is a separate bill (R2: 10 GB free, then $0.015/GB, no egress fees). Storing images in Cloudflare Images bills images stored and images delivered, not transformations. Images delivered are converted from bandwidth at 100 KB per optimized image: $1 per 100,000 images = $0.10 per GB. Storage blocks of 100,000 are modelled as $5 including the first 100,000 then $0.00005 per image; in reality each further block is another $5. The pricing page states no other minimum fee. Cloudflare Stream (video) is priced separately and left out.
Checked 2026-10-08 · pricing page ↗ · Cloudflare pricing in full →
Bunny.netBunny Optimizer is $9.50 a month per website with unlimited transformations, plus CDN bandwidth from $0.01 per GB and storage from $0.01 per GB.
| Plan | Monthly fee | Images stored | Images delivered per month |
|---|---|---|---|
| Optimizer + Standard CDN + Storage | $9.50/mo | $5 per million images | $0.01 per GB |
Optimizer covers unlimited requests, optimizations and transformations, so transformations cost nothing extra. Bandwidth uses the Standard network's Europe and North America rate ($0.01/GB, from https://bunny.net/pricing/cdn/); the Volume network is $0.005/GB but with 10 PoPs. Storage is Bunny Storage Standard in one region ($0.01/GB, from https://bunny.net/pricing/storage/; replication costs more), converted at 500 KB per original — or keep originals in any origin you already pay for. Bunny Stream (video) is left out.
Checked 2026-10-08 · pricing page ↗ · Bunny.net pricing in full →
ImageKitBilled by bandwidth and storage, with image transformations not charged: free for 20 GB delivered and 3 GB stored, Lite $9 for 40 GB then $0.50 per GB, Pro $89 for 225 GB then $0.45 per GB.
| Plan | Monthly fee | Images stored | Images delivered per month |
|---|---|---|---|
| Forever Free | Free | up to 6k images | up to 20 GB |
| Lite | $9.00/mo | 20k images includedthen $0.05 per 1,000 images | 40 GB includedthen $0.5 per GB |
| Pro | $89/mo | 450k images includedthen $0.045 per 1,000 images | 225 GB includedthen $0.45 per GB |
Image transformations aren't billed on any plan, so the transformations driver costs nothing. Storage converts at 500 KB per original (2,000 images per GB): Free 3 GB, Lite 10 GB then $0.10/GB, Pro 225 GB then $0.09/GB. If your originals stay in your own bucket, storage at ImageKit is zero and you pay the bucket instead. Video processing units (500 on Free and Lite, 5,000 on Pro then $9 per 10,000) and extension units for AI add-ons (650 / 650 / 4,000, Pro $9 per 5,000 more) are left out.
Checked 2026-10-08 · pricing page ↗ · ImageKit pricing in full →
VercelVercel Image Optimization bills transformations ($0.05 per 1,000 in iad1) plus cache reads and writes; Hobby includes 5,000 transformations a month, and delivery is Vercel CDN transfer.
| Plan | Monthly fee | New image variants generated per month | Images delivered per month |
|---|---|---|---|
| HobbyPersonal, non-commercial use only. | Free | up to 5k transformations | up to 100 GB |
| Pro (Flat Rate CDN, included tier) | $20/mo | $0.102 per 1,000 transformations | up to 1k GB |
| Pro (on-demand CDN) | $20/mo | $0.102 per 1,000 transformations | $0.15 per GB |
Rates are iad1 (Washington D.C.); other regions cost up to $0.0812 per 1,000 transformations. Each transformation is $0.00005 plus its cache write: a 100 KB optimized image is about 13 write units of 8 KB at $0.000004 = $0.000052, so $0.000102 per transformation. Cache reads are left out (small, and not billed for regional cache hits); so are CDN Requests ($2 per million on demand, 1M in the Flat Rate included tier). Source images stay in your deployment or bucket, so images_stored costs nothing here. Hobby includes 5,000 transformations, 300,000 cache reads and 100,000 cache writes a month; its 100 GB is the account's whole transfer allowance. The $20 Pro fee is the platform plan you'd pay anyway for hosting; its $20 monthly usage credit can absorb image costs but is shared with all other usage, so it isn't modelled. Only modelled for Vercel-hosted sites, since it's built into Next.js <Image>.
Checked 2026-10-08 · pricing page ↗ · Vercel pricing in full →imgixMonthly credit bundles from $25 for 100 credits to $500 for 3,570, then $0.25–$0.12 per extra credit; a GB delivered costs 1 credit, a GB of cached originals 2 credits a month, and 500 standard renders 1 credit.
| Plan | Monthly fee | Credits | Images stored | New image variants generated per month | Images delivered per month |
|---|---|---|---|---|---|
| Starter | $25/mo | 100 credits includedthen $0.25 per credit | — | — | — |
| Basic | $75/mo | 375 credits includedthen $0.2 per credit | — | — | — |
| Midrange | $150/mo | 830 credits includedthen $0.18 per credit | — | — | — |
| Growth | $300/mo | 1.9k credits includedthen $0.16 per credit | — | — | — |
| Growth Plus | $500/mo | 3.6k credits includedthen $0.12 per credit | — | — | — |
One credit buys 1k images, or 500 transformations, or 1 GB; every kind of usage draws on the same credits.
Credit costs (https://www.imgix.com/pricing-faq): 2 credits per GB of cached originals per month (0.001 per original at 500 KB), 1 credit per 500 standard renders, 1 credit per GB delivered, all from one bundle; extra credits are billed at the bundle’s per-credit price. The cached-originals storage is assumed to hold all your originals; only those fetched recently may count. Annual bundles are 15% cheaper. AI features cost far more credits.
Checked 2026-10-08 · pricing page ↗ · imgix pricing in full →
CloudinaryMonthly credits shared between storage, transformations and bandwidth — 1 credit is 1 GB stored, 1,000 transformations or 1 GB delivered: free for 25 credits, $99 for 225, $249 for 600.
| Plan | Monthly fee | Credits | Images stored | New image variants generated per month | Images delivered per month |
|---|---|---|---|---|---|
| Free3 users, 1 account. | Free | 25 credits included | — | — | — |
| Plus3 users, 2 accounts. | $99/mo | 225 credits included | — | — | — |
| Advanced5 users, 3 accounts. | $249/mo | 600 credits included | — | — | — |
One credit buys 2k images, or 1k transformations, or 1 GB; every kind of usage draws on the same credits.
One credit is 1 GB stored (about 2,000 originals at 500 KB), 1,000 transformations or 1 GB delivered, all drawn from the same monthly credits; the self-serve plans sell no extra credits. Derived assets also count toward storage, so real storage use is higher than originals alone. Cloudinary’s documentation mentions a Pro pay-as-you-go tier at $0.45 per extra credit, but the live pricing page lists only Free, Plus, Advanced and Enterprise, so it isn’t modelled. Video processing and video bandwidth are left out; add-ons are extra. Enterprise is custom-priced.
Checked 2026-10-08 · pricing page ↗ · Cloudinary pricing in full →