- Published on
Image Hosting & CDN 2026 — Cloudinary / ImageKit / Bunny CDN / Imgix / Cloudflare Images / jsDelivr / Vercel next/image / ImageFlux Deep-Dive Comparison
- Authors

- Name
- Youngju Kim
- @fjvbn20031
Prologue — The Era When Images Became the Slowest Resource
The average web page in 2026 weighs about 2.6 MB, and more than half of that is images. The most common Largest Contentful Paint (LCP) candidate is the hero image. On mobile 4G, an LCP over 2.5 s gets a "Poor" rating, and a poor Core Web Vitals score directly reduces search visibility.
There are three ways to fix this:
- Make the image smaller. Convert to WebP/AVIF/JPEG XL and send only the resolution that fits the device.
- Serve the image close to the user. Cache at the CDN edge to reduce RTT.
- Control image load order.
fetchpriority="high"for the hero,loading="lazy"for below-the-fold.
As of 2026, an "image CDN" is the thing that does all three with one URL. Upload the original once, then specify width/format/quality/crop/AI enhancement via URL parameters and receive the transformed result from the edge. The transformed result is cached, so repeat visits respond instantly.
This article surveys the 2026 image hosting and CDN market in one read. Managed SaaS (Cloudinary, ImageKit, Bunny, Imgix, Cloudflare Images, gumlet), hyperscalers (AWS, GCP, Azure, Akamai, Fastly), free OSS CDNs (jsDelivr, statically, unpkg, esm.sh), framework integrations (Vercel, next/image), and Korean/Japanese local solutions.
1. The 2026 Image Hosting & CDN Map — Four Categories
First, the big picture. 2026 image infrastructure splits into four lanes.
[1] Managed Image CDN (SaaS)
Cloudinary — leader, AI transforms, 60+ SDKs
ImageKit — India/global, cost-effective alternative
Bunny CDN — Germany, cheapest traffic unit price
Imgix — premium, photographers / media companies
Cloudflare — Images $5/100K, global edge
Images
gumlet.io — India, video bundled in
[2] Hyperscaler CDN + Object Storage
AWS CloudFront + S3
Google Cloud CDN + Cloud Storage
Azure Blob Storage + Azure CDN / Front Door
Akamai Image & Video Manager
Fastly Image Optimizer (IO)
[3] Free OSS CDN
jsDelivr — GitHub/npm/WordPress, global
statically.io — GitHub/Gist cache, free
unpkg — npm package mirroring
esm.sh — ESM-format conversion mirror
BlazeCDN/KeyCDN — budget managed
Edgio (formerly StackPath, acquired/rebranded 2022)
[4] Framework Integration
Vercel Image Optimization
Next.js next/image (loader API)
Nuxt @nuxt/image
SvelteKit @sveltejs/enhanced-img
Astro Image component
These four categories split by who you are:
- Solo developer / blogger → [3] free OSS CDN + [4] framework integration (zero cost)
- Startup / SaaS → [1] managed image CDN (Bunny, ImageKit, Cloudflare Images)
- Media / commerce / content company → [1] Cloudinary, Imgix (AI transforms / DAM required)
- Enterprise → [2] AWS/GCP/Azure/Akamai/Fastly (contracts, SLAs, VPC)
2. Cloudinary — Still the Leader in 2026, the Standard for AI Transforms
Cloudinary is an Israeli company founded in 2011, and in 2026 it is the de-facto standard of the image-and-video CDN market. Over USD 200 M in revenue, 700+ employees, additional funding raised in 2024–2025. Two core weapons:
1. Most expressive URL transform syntax.
A Cloudinary URL is not a folder, it's a transform chain.
https://res.cloudinary.com/<cloud>/image/upload/
w_800,h_600,c_fill,g_auto,f_auto,q_auto,e_improve/
v1700000000/sample.jpg
Reading order:
w_800,h_600— width, heightc_fill— crop mode (fill, fit, scale, thumb, …)g_auto— gravity, AI picks the subject center automaticallyf_auto— auto AVIF/WebP/JPEG for the browserq_auto— auto qualitye_improve— AI color/exposure correction effect
2. AI transforms go the deepest.
AI features added to Cloudinary between 2024 and 2026:
e_gen_remove:item— object removal (generative inpainting)e_gen_replace:from_dog;to_cat— text-driven object replacemente_gen_recolor:item_shirt;color_blue— color-only changee_background_removal— AI mattinge_upscale— 4× upscalee_gen_fill_w_2000_h_1500— change aspect ratio via outpainting
These are not simple filters. When the URL is requested for the first time, a GPU worker transforms and caches the result; subsequent requests come from the edge instantly.
Pricing (2026).
- Free: 25 credits per month (1 credit = 1000 transforms or 1 GB traffic or 1 GB storage)
- Plus: USD 99/month, 225 credits
- Advanced: USD 249/month, 600 credits
- Enterprise: contract
AI transforms burn credits faster. e_gen_remove costs about 0.5 credits per transform vs. about 0.001 for ordinary transforms.
Weaknesses.
- Traffic unit price is expensive. 100 GB of egress costs Bunny about USD 1, but Cloudinary upwards of USD 100 when over plan.
- Terms and feature gates are complex. First-time users struggle to tell what is "free."
3. ImageKit — The Cost-Effective Cloudinary Alternative
ImageKit is an Indian (Bangalore) company founded in 2017. Its positioning is: "Cloudinary-class URL transforms and AI features, cheaper."
URL syntax (nearly identical).
https://ik.imagekit.io/<endpoint>/tr:w-800,h-600,c-maintain_ratio,fo-auto,f-auto,q-auto/sample.jpg
tr:prefix starts transformsfo-auto= focus auto = AI subject centerf-auto,q-autoidentical
AI features (2025–2026).
- AI background removal
- Smart crop with face / object detection
- Generative fill (beta)
- Auto-tagging
Pricing (2026).
- Free: 20 GB bandwidth + 20 GB storage / month
- Lite: USD 89/month, 100 GB bandwidth
- Custom: contract
About 30–40% cheaper than Cloudinary at the same traffic. AI features are slightly behind but plain transforms, auto-format, and responsive are on par.
Who it suits.
- E-commerce (tens of thousands of product photos)
- SaaS that does not need full Cloudinary AI
- Heavy India/Southeast Asia traffic (good PoPs)
4. Bunny CDN — Germany's Budget Powerhouse
Bunny.net (formerly BunnyCDN) is a Slovenian/German company that, in 2026, has the cheapest traffic unit price of any general-purpose CDN. It did not start as an "image CDN," but Bunny Optimizer handles image transforms.
Pricing (2026, traffic unit price).
- Europe / North America: USD 0.005/GB to USD 0.01/GB
- Asia: USD 0.02/GB
- Optimizer option: USD 9.5/month per pull zone
For comparison: Cloudflare is free (Workers Free), AWS CloudFront is USD 0.085/GB (first 10 TB), Akamai is contract-priced (usually higher). With Bunny, a small video / image service pushing tens of TB ends up at low triple-digit dollars per month.
Optimizer URL syntax.
https://yourzone.b-cdn.net/sample.jpg?width=800&height=600&optimizer=image&quality=85
width,heightoptimizer=imageto activate transformsformat=autofor AVIF/WebP
Weaknesses.
- Almost no AI features. No smart crop, no generative transforms.
- No DAM / SDK at Cloudinary level. URL-based only.
Who it suits.
- Cost-sensitive startups / indie devs
- Cases that need only static image transforms
- Anyone who also wants to ship video (bundled with Bunny Stream)
5. Imgix — Premium, the CDN Photo / Media Companies Reach For First
Imgix is a US company that started in the early 2010s and is the first image CDN that photographers and digital-media companies think of. The Wirecutter, Hudl, Eventbrite, Vimeo, and others use it.
URL syntax (query-string driven).
https://yourdomain.imgix.net/sample.jpg?w=800&h=600&fit=crop&auto=format,compress&q=80
auto=formatalone covers AVIF/WebP/JPEGauto=compressfor quality / encoding optimizationfit=crop,fit=fill,fit=faceareamark=overlay.png&mark-w=200&mark-x=20— watermark
Strengths.
- Very stable transform engine (10+ years in operation)
- Pays the most attention to "image color accuracy" — sRGB / Display-P3 / OKLab color spaces supported
- Imgix Video for video transforms
Pricing (2026).
- Standard: from USD 300/month (bundled traffic / requests)
- USD 0.08 per 100 GB of bandwidth / USD 0.08 per 1000 transforms
A touch more expensive than Cloudinary, but media companies prefer it for stability, consistency, and color accuracy.
6. Cloudflare Images — The Game-Changer at $5/100K
Cloudflare Images launched in 2021 and, by 2026, is shaking the market with the simplest pricing model.
Pricing (2026).
- Images Plan: USD 5/month, 100,000 images stored + 100,000 transforms free, then USD 5 per additional 100K
- Bandwidth: unlimited (this is the kicker)
- Polish (auto WebP/AVIF): included on Pro plan (USD 25/month)
Comparison:
- Cloudinary 100 GB traffic ~ USD 50 to 100
- Bunny 100 GB traffic ~ USD 1
- Cloudflare Images 100 GB traffic = unlimited = flat
Overwhelming for high-volume sites.
URL syntax (variants).
https://imagedelivery.net/<accountHash>/<imageId>/<variantName>
You define variants in the dashboard up front — thumbnail (150x150 cover), hero (1600 wide), etc. You cannot freely write transform URLs; you operate inside pre-defined variants.
Weaknesses.
- Not as freely URL-transformable as Cloudinary (variant-based)
- Since 2024, Flexible Variants lets you specify width/height directly in the URL (Pro/Business and up)
- Almost no AI transforms. Combine R2 + Workers + AI Gateway yourself.
Who it suits.
- SaaS already in the Cloudflare ecosystem (R2 + Workers + Pages bundle)
- High-traffic boards / media sites
- Teams that value pricing predictability the most
7. AWS CloudFront + S3 / Google Cloud CDN / Azure Blob + CDN
The dominant enterprise combo is the cloud-native pairing.
AWS CloudFront + S3 + Lambda@Edge / CloudFront Functions
Origin is S3 or a private origin, the edge is CloudFront, and transforms run on Lambda@Edge or CloudFront Functions.
[Client]
|
v
[CloudFront Edge (450+ PoPs)]
| cache miss
v
[Lambda@Edge — image resize]
| reads
v
[S3 origin bucket]
The canonical pattern: AWS Solutions Library's "Serverless Image Handler" — Lambda@Edge with Sharp (libvips).
Pricing: CloudFront USD 0.085/GB (first 10 TB), Lambda@Edge billed separately, S3 storage USD 0.023/GB/month, GET requests USD 0.0004/1000.
Google Cloud CDN + Cloud Storage + Cloud Functions
GCP uses Imageflow or your own Cloud Functions. Media CDN (launched 2022) bundles video and image optimization.
Pricing: CDN USD 0.02 to 0.08/GB, Storage USD 0.020/GB/month, Functions billed separately.
Azure Blob Storage + Azure CDN / Front Door
Azure CDN Standard (Verizon/Akamai backends) was partially retired through 2025, and Azure Front Door is now the main offering. Front Door Premium includes Image Optimization (GA 2025).
Pricing: Front Door Standard USD 0.16/GB (first 10 TB), Premium USD 0.25/GB.
All three clouds are picked by companies that need VPC, Private Link, IAM, contracts, and SLAs. They are pricier than managed SaaS, but the strength is having every other service in the same company's console.
8. Akamai / Fastly Image Optimizer — Enterprise Top-Tier
Akamai Image & Video Manager
Akamai has been running since 1998 and is the originator of the CDN. Image & Video Manager (IVM) is its image transform module, used by more global enterprises than anything else.
Highlights:
- 350,000+ edge servers
- Policy-based transforms (conditionals possible)
- Adaptive Image Delivery — auto-adjusts by device and connection speed
- Auto AVIF/WebP/JPEG XL
Pricing: contract (sales-led). Usually starts in the thousands of dollars per month.
Fastly Image Optimizer (IO)
Fastly started in 2011 and IPO'd in 2019. Fastly Image Optimizer (IO) is the transform module, used by GitHub, The New York Times, The Guardian, Reddit, and others.
URL syntax:
https://example.com/sample.jpg?width=800&height=600&fit=crop&format=auto&quality=80
- Nearly every parameter is Imgix-compatible
- Instant Purge is extremely fast (global in a few hundred ms)
Pricing: base traffic USD 0.12/GB (first 10 TB), IO adds USD 0.05 per 1000 transforms.
Akamai vs. Fastly — the decisive difference.
- Akamai = overwhelming PoP count, strong policy / ruleset → global media / banks
- Fastly = developer-friendly VCL (Varnish Configuration Language), Edge Compute → news / social / gaming
9. jsDelivr / statically.io / unpkg / esm.sh — Free OSS CDN
From here on, these are the places that deliver images and static assets without you paying a dime.
jsDelivr
The most famous free OSS CDN. It caches GitHub repos, npm packages, and WordPress plugins directly.
https://cdn.jsdelivr.net/gh/<user>/<repo>@<branch>/path/to/image.png
https://cdn.jsdelivr.net/npm/<package>@<version>/dist/file.js
Features:
- Global PoPs (Cloudflare/Fastly/Bunny backends bundled)
- Free, with effectively no traffic limit
- But no transforms. No auto width or format.
- If your usage gets very large, you might get a friendly email asking for context (typically over 100 TB/month)
Perfect for OSS README screenshots, library demos, and small static sites.
statically.io
Free CDN that caches GitHub repos and Gists. Partial image transforms supported (resize, format).
https://cdn.statically.io/gh/<user>/<repo>/<branch>/path/to/image.png
https://cdn.statically.io/img/<host>/f=auto,w=800/<path>
Free for OSS, generally unconstrained elsewhere. A little smaller than jsDelivr, but its differentiator is resize support.
unpkg
npm package mirror. Form is https://unpkg.com/<package>@<version>/file. No image transforms; mostly used for JS/CSS distribution. Images only if you publish them to npm.
esm.sh
Mirrors npm packages converted to ESM. For direct ES Module imports: import React from "https://esm.sh/react@18.2.0". No images.
Summary: jsDelivr or statically.io is plenty as an image CDN for OSS / blogs / small sites.
10. KeyCDN / Edgio (formerly StackPath) / gumlet.io
KeyCDN
Swiss-based, still running in 2026. Simple pricing — USD 0.04/GB (Asia), USD 0.02/GB (Europe/North America). Before Bunny showed up, it was the cheapest option. Now Bunny undercuts it, but it survives on reputation and customer support.
Edgio (formerly StackPath, acquired 2022 / turbulent since)
Originally MaxCDN → acquired and rebranded as StackPath → acquired by Edgio in 2022 and rebranded again. After filing Chapter 11 in 2024, Akamai, Lumen, and others bought its assets. The Edgio brand is effectively winding down by 2026, and existing customers are migrating to Akamai, Lumen, Limelight, and others. Do not sign up for it today.
gumlet.io
A relatively new India-based company. Bundles image + video + DRM. URL transforms similar to ImageKit. Pricing sits between ImageKit and Bunny.
https://yourdomain.gumlet.io/<image>.jpg?w=800&format=auto&quality=auto
The distinctive feature is having video streaming, HLS, and DRM in the same console. If you only need images, ImageKit is better; if video is part of the picture, gumlet bundles nicely.
11. Vercel Image Optimization + Next.js next/image
The project that built an image CDN at the framework layer is next/image, and Vercel is the place that hosts it best.
How next/image Works
import Image from 'next/image'
export default function Hero() {
return (
<Image
src="/hero.jpg"
width={1600}
height={900}
alt="hero"
priority
sizes="(max-width: 768px) 100vw, 1600px"
/>
)
}
What happens at build / runtime:
- Rewrites
srcto/_next/image?url=...&w=1600&q=75form - Vercel's or self-host's image optimizer resizes and converts to AVIF/WebP via Sharp (libvips) on first request
- Caches the result (Vercel = CDN edge / self-host =
.next/cache/images) - Auto-generates the
picture+source srcSetmarkup, fully responsive
priority automatically inserts fetchpriority="high" and a preload. loading="lazy" is the default.
Vercel Image Optimization Pricing (2026)
- Hobby: 1000 source images / 5000 transformations free
- Pro: USD 20/month + 5000 source + per-transform pricing
- 100,000 transforms ~ USD 40
Expensive. So through 2024–2026, swapping the next/image loader option to Cloudinary / Cloudflare Images / ImageKit / Bunny became a popular pattern.
Custom Loader
// next.config.js
module.exports = {
images: {
loader: 'custom',
loaderFile: './loaders/cloudflare.js',
},
}
// loaders/cloudflare.js
export default function cloudflareLoader({ src, width, quality }) {
const params = [`width=${width}`, `quality=${quality || 75}`, 'format=auto']
return `https://imagedelivery.net/<hash>/${src}?${params.join('&')}`
}
Result: next/image's UX stays, while transforms and CDN are handled by Cloudflare / Cloudinary.
12. AI Image Enhancement — Cloudinary AI / ImageKit AI
The area of image CDN that changed the fastest in 2024–2026 is AI transforms.
Cloudinary AI Feature Catalog
- Object-aware crop (
g_auto) — face / subject-centered crop - Background removal (
e_background_removal) — AI matting - Generative remove (
e_gen_remove:item) — object removal - Generative replace (
e_gen_replace:from_X;to_Y) — object replace - Generative fill (
e_gen_fill_w_X_h_Y) — outpainting - Generative recolor (
e_gen_recolor:item_X;color_Y) — color-only change - Upscale (
e_upscale) — 2×/4× upscale - Restore (
e_restore) — noise / blur removal - Improve (
e_improve) — auto color / exposure
These are billed under a separate (credits) bucket. e_gen_remove costs roughly 0.5 credits per transform.
ImageKit AI
- Smart crop with face detection
- AI background removal
- Auto-tagging
- Generative fill (beta, GA late 2025)
A little behind, half the price.
DIY — Replicate + R2 + Workers
You can also build the same AI image CDN features yourself, without using a vendor's.
[Client]
|
v
[Cloudflare Worker — /api/enhance]
| upload → R2
v
[Replicate — SDXL/Real-ESRGAN/RemBG]
| result URL
v
[Worker — fetch + cache to R2]
|
v
[imagedelivery.net / CDN]
Cheap (unlimited traffic). The cost is having to write the model hosting, failure handling, and queueing yourself.
13. WebP / AVIF / JPEG XL Conversion — The 2026 Format Wars
The 2026 image-format landscape:
| Format | Compression (JPEG=1) | Decode Cost | Alpha | Animation | Browser Support (2026) |
|---|---|---|---|---|---|
| JPEG | 1.0 | very low | no | no | 100% |
| PNG | 0.7 (photo) | low | yes | no | 100% |
| WebP | 1.3 to 1.5 | low | yes | yes | 100% (except IE, effectively 100%) |
| AVIF | 1.5 to 2.0 | medium | yes | yes | 95%+ (Chrome 85+, Firefox 93+, Safari 16.4+) |
| JPEG XL | 1.6 to 2.5 | low | yes | yes | Safari 17+, Chrome 137+ (enabled 2025) |
| HEIC | 1.8 | medium | yes | yes | Safari 11+, Chrome via workaround (effectively unused) |
Content negotiation is the key.
Client Accept: image/avif,image/webp,image/*,*/*;q=0.8
CDN: can decode AVIF → return AVIF
else WebP, else JPEG
Cloudinary f_auto, ImageKit f-auto, Imgix auto=format, Cloudflare Polish — all do the same job.
Apple Smart HDR / Display-P3 color space.
In 2026, iPhone photos are captured by default in HDR + Display-P3. Converting straight to sRGB kills the color. Cloudinary and Imgix have options to preserve or convert HDR metadata (HEIF gain map). Ordinary CDNs typically down-convert to sRGB.
OKLab color interpolation.
OKLab (published 2020), introduced in CSS Color Module Level 4, has become the de-facto gradient color space in 2026. Image CDN gradient compositing / lighting effects (Cloudinary e_artistic, Imgix blend-color) are also moving to OKLab.
14. LCP Optimization — srcset / picture / fetchpriority
Image CDNs contribute to LCP in three stages.
(1) Exact Sizing — srcset + sizes
<img
src="/hero-1600.jpg"
srcset="
/hero-400.jpg 400w,
/hero-800.jpg 800w,
/hero-1600.jpg 1600w,
/hero-3200.jpg 3200w
"
sizes="(max-width: 768px) 100vw, 1600px"
alt="hero"
/>
The browser picks the smallest matching candidate by viewport size and DPR. Not loading the 1600 px version on mobile makes LCP 2-3× faster.
(2) Format Negotiation — picture + source
<picture>
<source srcset="/hero.avif" type="image/avif" />
<source srcset="/hero.webp" type="image/webp" />
<img src="/hero.jpg" alt="hero" />
</picture>
If the browser has an AVIF decoder, only AVIF is fetched. JPEG is the fallback.
(3) Priority — fetchpriority + preload
<link
rel="preload"
as="image"
href="/hero-1600.avif"
imagesrcset="/hero-800.avif 800w, /hero-1600.avif 1600w"
imagesizes="(max-width: 768px) 100vw, 1600px"
type="image/avif"
/>
<img src="/hero.jpg" fetchpriority="high" alt="hero" />
fetchpriority="high" — fetch this before other images. preload — start before HTML parsing finishes. Together they shave roughly 200–500 ms off LCP.
next/image's priority={true} does all of this automatically.
15. Korea — Toss CDN / Kakao CDN / NAVER CDN / KT CDN
The Korean market has a separate local ecosystem alongside global CDNs.
Toss CDN (in-house)
Toss runs its own CDN. It is not sold externally, but the Toss ads SDK and payments SDK are distributed worldwide via Toss CDN. Toss's own photo / image assets also flow through it. In-country LCP beats generic global CDNs.
Kakao CDN
A cloud CDN run by Kakao Enterprise. Used broadly across Korean sites, KakaoTalk channel pages, and Daum.
Pricing: traffic USD 0.01 to 0.03/GB (domestic). A touch more expensive than global CDNs, but in-country latency is great and it pairs well with KT/SKT/LG ISP caching.
NAVER CDN (NCP CDN+ / Global CDN)
Run by NAVER Cloud Platform. Used heavily by domestic e-commerce and content companies. GeoIP, adaptive bitrate, and similar value-added features are slightly richer than Kakao CDN.
KT CDN
The oldest domestic CDN, operated by KT. As a telco-based CDN, the last hop is extremely short for KT subscribers. Used a lot by media / broadcaster OTT services.
Problems when Korean sites use global CDNs.
- AWS CloudFront has a Seoul PoP, but due to Korean ISP backbone routing, KT CDN can be slightly faster.
- Cloudflare's Seoul PoP works well.
- 100% Korean traffic → domestic CDN; global traffic → Cloudflare / Bunny is typical.
16. Japan — Mercari ImageFlux / pixiv ImgFlux / Sakura CDN / Akamai JP
Japan, too, has a strong local market beside the global one.
Mercari ImageFlux (Sakura-backed)
Mercari's image transform system. It runs on top of Sakura Internet's ImageFlux service. Hundreds of millions of Mercari product images flow through ImageFlux's URL transforms to reach users.
https://img.mercdn.net/.../<base64-encoded-path>
ImageFlux itself is a Sakura product sold to the public and is widely used by Japanese e-commerce. The URL syntax resembles Imgix.
Pricing (2026): from JPY 5,000/month, bundled traffic / transforms.
pixiv ImgFlux (in-house)
pixiv's in-house image transform infrastructure. Not sold externally. Its strength is high-quality transforms for illustration / manga (transparency, CMYK to sRGB, multi-layer).
Sakura Internet CDN
Sakura's general CDN service. Great in-Japan PoPs, pairs with ImageFlux.
Pricing: USD 0.01 to 0.02/GB (Japan).
Akamai Japan
Akamai's local arm in Japan. Most of Japan's large media, broadcasters, banks, and telcos use Akamai. Pricing is contract-based but reputed to be very stable. NHK, NTT, and parts of KDDI run services on Akamai.
Problems when Japanese sites use global CDNs.
- Tokyo PoPs of Cloudflare / AWS / Akamai are all good.
- But because of ISP routing through JPNIC backbones, Sakura CDN is sometimes faster.
- Large Japanese companies typically pair Sakura / Akamai as the main + Cloudflare as global backup.
17. Who Should Pick What — Recommendations by Persona
Time to compress everything.
Persona A — Solo developer / blogger (traffic less than 100 GB/month, fewer than 1000 images)
Pick: jsDelivr or statically.io + Vercel / Cloudflare Pages
- Cost: zero
- How: push images to a GitHub repo and embed via
cdn.jsdelivr.net/gh/...orcdn.statically.io/img/... - If you need transforms, use statically.io's
f=auto,w=800 - Hosting: Vercel / Cloudflare Pages free tier
- LCP: next/image
priority+ static builds is enough
Persona B — Startup SaaS (traffic 1-10 TB/month, tens of thousands of images)
Pick: Cloudflare Images or Bunny CDN + next/image custom loader
- Cloudflare Images = flat + unlimited bandwidth = predictable
- Bunny CDN = variable + extremely cheap unit price = even spike months stay affordable
- Both integrate via next/image loader
- AI features are often unused — staying simple is actually a plus
Persona C — Content / commerce company (hundreds of thousands of images, AI transforms required)
Pick: Cloudinary (if AI transforms / DAM needed) or ImageKit (if only half the AI is needed)
- Cloudinary = deepest AI generative transforms / DAM / workflow automation / CMS integration
- ImageKit = 30-40% cheaper, on par for simple AI features
- For media companies that care about color accuracy → Imgix
- In Korea → Kakao / NAVER CDN as main, Cloudinary only for transforms
Persona D — Enterprise (global, contracts / SLAs / VPC required)
Pick: Akamai Image Manager or Fastly IO + S3 / GCS / Blob
- Akamai = policy-based, banks / media
- Fastly = developer-friendly, news / social
- Cloud-first → AWS CloudFront + Serverless Image Handler / Front Door Premium / Cloud CDN
Persona E — OSS library / demo site
Pick: jsDelivr + GitHub Pages / unpkg / esm.sh
- The library itself: npm → jsDelivr / unpkg
- ESM consumption: esm.sh
- Demo images: GitHub repo → jsDelivr / statically.io
- Cost: zero, forever
Epilogue — 2026 Image CDN in One Line
"A single image can be 1 KB to 10 MB, but users always want only 100 KB. Closing that gap is the job of an image CDN, and in 2026 you can do it with one URL."
The 3-step decision flow:
- First filter, by traffic scale — under 100 GB → free OSS CDN; under 1 TB → Cloudflare Images / Bunny; beyond that, negotiate enterprise pricing.
- Second filter, by AI need — not needed → Bunny / Cloudflare Images; needed → Cloudinary / ImageKit.
- Third filter, by framework integration — on Next.js, the next/image loader API integrates any CDN.
If you've read this far you already know: there is no "correct" answer; the right answer is the simplest match for your traffic, features, and budget. Measure the LCP change from one URL and tune from there.
References
- Cloudinary docs: https://cloudinary.com/documentation
- Cloudinary AI transforms: https://cloudinary.com/products/cloudinary_ai
- ImageKit docs: https://docs.imagekit.io/
- Bunny.net docs: https://docs.bunny.net/
- Bunny Optimizer: https://docs.bunny.net/docs/stream-image-optimizer
- Imgix docs: https://docs.imgix.com/
- Cloudflare Images: https://developers.cloudflare.com/images/
- Cloudflare Polish: https://developers.cloudflare.com/images/polish/
- AWS Serverless Image Handler: https://aws.amazon.com/solutions/implementations/serverless-image-handler/
- AWS CloudFront pricing: https://aws.amazon.com/cloudfront/pricing/
- Google Cloud Media CDN: https://cloud.google.com/media-cdn
- Azure Front Door: https://learn.microsoft.com/en-us/azure/frontdoor/
- Akamai Image and Video Manager: https://www.akamai.com/products/image-and-video-manager
- Fastly Image Optimizer: https://docs.fastly.com/products/image-optimization-api
- jsDelivr: https://www.jsdelivr.com/documentation
- statically.io: https://statically.io/
- unpkg: https://unpkg.com/
- esm.sh: https://esm.sh/
- KeyCDN: https://www.keycdn.com/
- Edgio (post-StackPath): https://edg.io/ (Chapter 11 in 2024)
- gumlet.io: https://www.gumlet.com/
- Vercel Image Optimization: https://vercel.com/docs/image-optimization
- Next.js next/image: https://nextjs.org/docs/app/api-reference/components/image
- Sakura ImageFlux: https://www.sakura.ad.jp/services/imageflux/
- AVIF support: https://caniuse.com/avif
- JPEG XL support: https://caniuse.com/jpegxl
- Web Vitals — LCP: https://web.dev/articles/lcp
- fetchpriority: https://web.dev/articles/fetch-priority
- OKLab color space: https://bottosson.github.io/posts/oklab/