imgproxy
imgproxy is an open source, self-hosted image processing server — a Cloudinary alternative that resizes, crops, and converts images to WebP or AVIF on the fly straight from a URL, fast and securely, on your own infrastructure.
What is imgproxy?
imgproxy is an open source, self-hosted server that resizes, crops, converts, and optimizes images on the fly. You put the processing options and source image into a URL, and imgproxy fetches the original, transforms it, and returns the result — no pre-generated thumbnails, no third-party image cloud. It’s written in Go on top of the libvips library, which is what makes it fast.
What is imgproxy best for?
Teams serving lots of images from user uploads or a large catalog who want responsive, modern-format delivery without a per-transformation SaaS bill. It sits behind your CDN and in front of your storage, generating exactly the sizes and formats each device needs — a strong fit when data sovereignty, predictable costs, or high throughput matter.
What can imgproxy do?
- Resize, crop, rotate, watermark, and apply filters on the fly from URL parameters
- Convert to and from JPEG, PNG, WebP, AVIF, JPEG XL, GIF, HEIC, BMP, TIFF, and animated WebP
- Pull source images from HTTP(S), local files, Amazon S3, Google Cloud Storage, Azure Blob Storage, and S3-compatible stores like MinIO, Cloudflare R2, and Wasabi
- Auto-optimize output — strip metadata and color profiles, quantize PNGs, and pick quality automatically
- Secure delivery with signed URLs, source URL encryption, and HTTP header authorization
- Defend against abuse with image-bomb protection, resolution and file-size limits, and SVG sanitization
Where does imgproxy fall short?
- Smart cropping with face and object detection, video/PDF/Photoshop thumbnails, GIF-to-MP4 conversion, and advanced compression are Pro-only — the open source edition covers standard image transforms but not these.
- It’s a processing engine, not a full media platform: there’s no built-in upload UI, digital-asset management, or media library like Cloudinary offers — you wire it into your own storage and app.
- It has no built-in CDN or long-term cache of its own, so you’re expected to run a CDN or reverse-proxy cache in front of it to avoid reprocessing every request.
Is imgproxy free?
Yes — the open source edition is free under the Apache-2.0 license, and you only pay for the server it runs on. imgproxy Pro is a paid, open-core upgrade starting at $49/month (or $499/year) that adds smart cropping, object detection, document and video previews, and advanced compression, plus priority support.
What does imgproxy replace?
imgproxy is a self-hosted alternative to Cloudinary, imgix, and Cloudflare Images. It does the same on-the-fly resize-and-convert job those managed services do, but you run it on your own infrastructure and pay for compute instead of per transformation or per stored image. Among open source options it competes with Thumbor and Sharp, trading Thumbor’s plugin flexibility for raw libvips speed.
FAQ
Is imgproxy open source? Yes. The core server is fully open source under the Apache-2.0 license. imgproxy Pro is a separate paid edition with extra features, but the open source version is a complete image processing server on its own.
Can I self-host imgproxy for free? Yes — self-hosting the open source edition is free; you only pay for the server it runs on. It ships as a Docker image (ghcr.io/imgproxy/imgproxy) and Linux packages and runs with minimal configuration.
Is imgproxy a good Cloudinary alternative? For teams that want fast, cheap, on-the-fly image processing they control, yes. You give up Cloudinary’s hosted convenience and asset-management UI, but you drop per-transformation pricing and keep your images on your own infrastructure.
What do I need to run imgproxy? A server with Docker, your image source (local files, S3, GCS, Azure Blob, or any HTTP URL), and ideally a CDN or caching proxy in front of it so transformed images are served from cache rather than reprocessed each time.