Media · Cloudflare Images
Store, optimize, and deliver images at the edge
Two ways to use one image platform: upload originals to Hosted Images, or keep them in your existing storage and apply remote transformations. Explore both modes, private delivery, named variants, and flexible URL options below.
Understand the product
Three slides before the hands-on demos.
Store, transform, and deliver images globally
Cloudflare Images is an end-to-end image pipeline. It turns an original into responsive, optimized renditions and delivers them from Cloudflare's global network.
Optimize dynamically
Resize, crop, compress, and select modern formats at request time.
Control delivery
Use named variants, flexible options, and signed URLs for private assets.
Original image
Upload or remote origin
Cloudflare Images
Mobile
320px · AVIF
Web
800px · WebP
Retina
1600px · DPR 2
One original · many renditions · cached close to every viewer
Transformations
On-the-fly, URL-driven
Resize, crop, convert format, and apply effects by editing the URL — no re-upload, no build step. Every unique transformation is generated once and cached across the network.
Transform controls
Live output
/cdn-cgi/image
Original image URL
https://img.orangemoussa.net/samples/mountain.jpgTransformation URL
https://img.orangemoussa.net/cdn-cgi/image/width=600,fit=scale-down,quality=85,format=auto/https://img.orangemoussa.net/samples/mountain.jpgThe options string sits in the path — no origin re-upload, no build step. Every unique URL is transformed once and cached across Cloudflare's network.
Hosted images
Flexible variants
Build a rendition dynamically by putting width, height, fit, quality, format, and device-pixel-ratio options directly in the hosted-image delivery URL. No preset or second copy is required.
Dynamic variant controls
Change the delivery URL instead of creating a dashboard preset.
Flexible delivery result
Generated directly from the hosted original.
Hosted-image delivery URL
https://imagedelivery.net/_0PUoomg51B6v5GhWtqqhA/488db3b3-84dd-43b1-71ba-17a4728bdd00/w=600,h=400,fit=cover,quality=85,format=auto,dpr=1,gravity=autoThe comma-separated options replace the named variant in the final path segment. Cloudflare generates the result on demand and caches it at the edge.
Hosted images
Named variants
Upload an original once, then deliver purpose-built renditions by name. Variants are defined centrally in the dashboard — application code just references the name.
1 · Pick a hosted image
Uploaded once to Cloudflare Images. One stored original serves every variant.
2 · Choose a variant
Named presets defined once in the dashboard — no query strings to manage.
Delivered result
imagedelivery.netDelivery URL
https://imagedelivery.net/_0PUoomg51B6v5GhWtqqhA/488db3b3-84dd-43b1-71ba-17a4728bdd00/thumbnailSwitching variants only changes the last path segment. The origin is uploaded once; Cloudflare generates and caches each variant on demand at the edge.
Access control
Private images with signed URLs
Mark images as private and gate delivery behind short-lived HMAC-signed tokens generated on your backend. Unsigned requests are rejected.
Without a token
The image is marked require signed URLs. A direct request is rejected.
https://imagedelivery.net/_0PUoomg51B6v5GhWtqqhA/519a8eae-21b1-4d86-3553-9bfa184d9e01/publicWith a signed token
Your backend signs the URL with an HMAC key and a short expiry.
Generate a signed URL to unlock the image.