Image optimization CDN with honest pricing | KeenpixSkip to contentSign inStart free trial
svg]:pointer-events-none [&>svg]:size-3! [a]:hover:bg-primary/80 border-white/15 bg-white/10 text-white hover:bg-white/10">Managed cloudsvg]:pointer-events-none [&>svg]:size-3! [a]:hover:bg-primary/80 border-white/15 bg-white/10 text-white hover:bg-white/10">Open-source self-host<br>Optimized images, minus the surprise bill.<br>Keenpix transforms and delivers your images in modern formats from one URL — with one honest, published price. No pooled credits, no per-transform or per-seat pricing, and one proper managed-delivery meter from edge to client. Or self-host the AGPL engine with no Keenpix license fee.<br>Start free trialSelf-host<br>14-day trial · card required · trial usage is never billed<br>JoodCMS includes a first-party Keenpix image-delivery integration — read the code-backed case study.<br>from $9/mo<br>or self-host with no Keenpix license fee
Measured<br>source and delivered bytes per request
14 days<br>free trial — no charge until it ends
Transform request<br>svg]:pointer-events-none [&>svg]:size-3! [a]:hover:bg-primary/80 border-emerald-300/25 bg-emerald-300/15 text-emerald-100 hover:bg-emerald-300/15">cached<br>GET /img/https://…/hero.jpg<br>w=1200fmt=autoq=82<br>Allowlisted host validated<br>Fetched with SSRF guards<br>Transformed & variant cached<br>Served immutable for your CDN
hero.jpg · original2.1 MB
hero.avif · delivered480 KB · 77% smaller<br>Illustrative example; output varies by source, dimensions, format, quality, and encoder settings.
No SDK — just a URL. Keenpix drops into every framework you already use.<br>React<br>Next.js<br>Vue<br>Nuxt<br>SvelteKit<br>Astro<br>Remix<br>TanStack<br>Angular<br>SolidJS<br>Qwik<br>HTML
ProductA managed image CDN that stays honest.
Optimize the images you already host, deliver them fast in modern formats, and see exactly what you pay for — or run the whole open-source engine yourself.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>No surprise bills<br>One managed-delivery meter and one published overage rate — no pooled credits, request fees, or per-transform metering. Every successful response counts once.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>Optimize your origins<br>Point Keenpix at your existing S3, R2, or any origin — it sits behind the CDN you already run. No re-upload or asset-library migration; moving still requires planned URL or hostname routing changes.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>Modern formats from one URL<br>AVIF, WebP, JPEG, PNG, GIF, HEIF, TIFF, and SVG. Resize, crop, quality, and format from URL params — unlimited transforms on every plan.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>No API keys to leak<br>Per-project origin allowlists gate every request — nothing secret ships in your frontend. Add HMAC-signed URLs when you want hotlink protection, all on an SSRF-hardened pipeline.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>Analytics without another vendor<br>Requests, total managed delivery, bandwidth savings, format mix, cache hit rate, top assets, and latency — including project-attributed Cloudflare edge traffic.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl rounded-lg transition-colors hover:bg-muted/40"><br>Open-source escape hatch<br>Run the exact same engine yourself, free. Self-host with Docker and keep the whole pipeline on your own infrastructure.
PipelineOne predictable path from origin to optimized asset.<br>Add an origin host to a project, request an image through /img/*, and Keenpix handles validation, fetching, transform work, storage, logging, and cache headers.<br>1Validate project and allowlisted source host<br>2Fetch with SSRF, redirect, size, and timeout guards<br>3Transform with sharp and cache the exact variant<br>4Serve immutable output for CDN edge caching
# response<br>Cache-Control: public, max-age=31536000, immutable<br>Vary: Accept
PricingOne honest meter. Or free forever.
Every successful managed-cloud response counts once, whether it came from the Cloudflare edge, the Keenpix variant cache, or a new transform. Overage is linear, published, and keeps paid delivery online. Team members and transforms are unlimited.
img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl...