Keenpix vs Cloudflare Images: a bandwidth-priced alternative
Cloudflare Images is deeply integrated with the Cloudflare edge and meters unique transformations or hosted-image storage and delivery. Keenpix sits behind the CDN you choose and meters optimized response bytes returned by the application; upstream CDN edge hits do not reach that meter.
The honest verdict
Choose Cloudflare Images when you want Cloudflare-native storage, custom-domain delivery, Workers integration, or a free allowance for up to 5,000 unique remote-image transformations each month. Choose Keenpix when your originals already live elsewhere and application response bytes are the clearest planning unit. These meters are not interchangeable: Cloudflare can be less expensive for repeated delivery of a small variant set, while Keenpix can be easier to forecast when responsive variants change frequently. Test your real catalog and traffic before moving.
Disclosure and sources
Keenpix publishes this comparison and benefits if you choose Keenpix. Vendor facts were checked against the primary sources below in July 2026. Pricing scenarios are estimates using the displayed assumptions, not quotes; contracts, taxes, regions, cache behavior, and legacy plans can change a real bill.
Reviewed by Raed Bahri, Keenpix founder and maintainer. Facts verified ; next scheduled review .
Pricing compared
| Scenario | Cloudflare Images | Keenpix |
|---|---|---|
| Up to 5,000 unique remote transformations / month | $0 on Images Free; cached existing variants continue after the limit | $9/mo Basic; transformations are not separately metered |
| 10,000 unique remote transformations / month | $2.50 on Images Paid after the first 5,000 included | No transformation charge; application response bytes determine the plan |
| 100,000 images stored and 100,000 hosted deliveries / month | $5 storage + $1 delivery on Images Paid | No managed storage; $9 Basic includes 100 GB returned by Keenpix |
| Remote-origin image delivery | $0.50 per 1,000 unique transformations after 5,000 included | $0.05–0.08/GB overage after the plan allowance |
Pricing as of July 2026. Numbers come from vendor pricing pages, which may change.
Feature by feature
| Feature | Cloudflare Images | Keenpix |
|---|---|---|
| Primary meter | Unique transforms; hosted storage and deliveries | Application response bytes |
| Free managed tier | 5,000 unique remote transforms/month | 14-day cloud trial; no free managed tier |
| Original storage | Optional Cloudflare Images storage | Use your existing origin |
| Custom delivery domain | Yes | Not yet |
| Workers integration | Native Images binding and fetch workflows | HTTP URL API |
| Automatic formats | AVIF, WebP, JPEG selection with fallbacks | AVIF/WebP negotiation |
| Origin controls | Zone origin rules or Workers logic | Per-project origin allowlists and optional signed URLs |
| Self-hosting | Managed Cloudflare service | v0.2.0 code is AGPL-3.0; you operate it |
| Image analytics | Cloudflare Images usage metrics | Delivery, cache, format, latency, and request analytics |
Why teams switch
Forecast from delivered traffic
Keenpix bills delivered gigabytes and does not add a charge for each width, crop, or output format. This can simplify forecasting for applications whose variant set changes frequently.
Keep the origin and CDN separable
Keenpix reads from allowlisted origins and is designed to sit behind an edge cache. That separation can suit teams that do not want image optimization tied to one storage or CDN account.
A self-operated path
The v0.2.0 cloud code is AGPL-3.0 and includes deployment files. The latest published v0.1.11 release remains Apache-2.0 until v0.2.0 is tagged. Self-hosting removes a Keenpix service bill but adds infrastructure and operational work.
When Cloudflare Images is the better choice
An honest comparison lists both columns. Stay with Cloudflare Images if any of these describe you:
- Your workload stays within 5,000 unique remote transformations per month and the free allowance is sufficient.
- You want Cloudflare to store originals, issue direct-upload URLs, and deliver hosted images from custom domains.
- Your application already uses Workers and benefits from the native Images binding and edge controls.
- You repeatedly deliver a stable, small set of variants; unique-transform pricing may be cheaper than bandwidth pricing.
- You need a large global vendor, enterprise support options, and one Cloudflare platform for networking and media.
How to migrate from Cloudflare Images
- 1
Inventory whether each source is a remote image or stored in Cloudflare Images; export hosted originals to an origin you control before changing delivery.
- 2
Create a Keenpix organization project and allowlist every source hostname.
- 3
Map Cloudflare width, height, fit, quality, and format options to documented Keenpix query parameters; test unsupported or advanced options separately.
- 4
Run representative URLs side by side and compare visual output, cache headers, file size, and latency.
- 5
Place your chosen CDN in front of Keenpix, verify its query-string and Accept-header cache behavior, and test cache hits.
- 6
Canary a small traffic share, monitor Keenpix application response bytes and errors, then migrate only after the results meet your acceptance thresholds.
Frequently asked questions
Is Keenpix always cheaper than Cloudflare Images?
No. Cloudflare gives 5,000 unique remote transformations per month free and charges by unique transformation after that; repeat requests for the same transformation in a calendar month do not add transformation usage. Keenpix charges for optimized response bytes returned by its application; upstream edge hits do not reach that meter. The lower-cost model depends on variant count, cache behavior, and bytes delivered.
Can Keenpix replace Cloudflare Images storage?
No. Keenpix does not store originals or provide upload workflows. Keep images in R2, S3, or another origin you operate, and use Keenpix only for transformation and delivery.
What happens on Cloudflare Images Free after 5,000 transformations?
Cloudflare documents that existing cached transformations continue to serve, while new transformations return error 9422. The free plan does not charge overage. Confirm current limits before production rollout.