imgproxy: fast and secure on-the-fly image processing

Open Source version
Docker, Heroku or install from source
Learn about the Pro version
Advanced features, priority support

Why imgproxy?

Users generate a great deal of every application’s visual content: avatars, photos, product pictures. With different versions of your product tailored to different screens and devices, managing user uploads becomes a pain. Handling and resizing image files drains your storage, processing resources, and development time. imgproxy can solve this problem once and for all.

How most developers deal with images now:

  • Icon
    Install an image processing tool on your servers.
  • Icon
    Configure an image library or a plugin for your framework or programming language.
  • Icon
    Upload user images: to the cloud or your own storage.
  • Icon
    Optional: perform image resizing in a background processing queue.
  • Icon
    Generate enough image versions to cater to all possible page designs and screen sizes…
  • Icon
    … rinse and repeat for all the images you store every time you change your app’s design.

With imgproxy, everything is simple:

  • Icon
    Install imgproxy.
  • Icon
    Upload user images: directly to the cloud without any back-end processing—or to your own storage.
  • Icon
    Request all images from imgproxy by putting desired parameters in the request URL. An image is processed on the fly and served directly.
  • That’s all!

Can be installed in your cluster

SaaSCoin

Image processing SaaS

  • Is a black box
  • that is controlled by someone, and
  • can be shut down one day.
  • It becomes expensive to scale, and
  • provides service as is; you can’t change it.
Own cluster

imgproxy in your cluster

  • Is transparent and
  • controlled by you only.
  • Costs depend on your infrastructure,
  • so you fully control scaling.
  • imgproxy is free and open source.
See how to install

How it works

imgproxy resizes images on the fly and does not consume disk space. It reduces your costs and removes an expensive requirement for all saved images to conform to specific formats.

how imgproxy workshow imgproxy works
All the features you need, none you don't

imgproxy takes care of all your image needs, keeps your product slick

Compress and optimize:

Compression

imgproxy reduces the size of your images and delivers them to your customers fast.

Format conversion

imgproxy works with JPEG, PNG, GIF, SVG, and even HEIC and WebP formats.

Resizing & cropping

imgproxy can generate any size and crop type you might need for your transformed images.

Metadata operations

imgproxy uses existing image metadata to resize, rotate, and make automated changes.


Color fill

imgproxy converts images on transparent background into images with the selected background color to better fit your design.

Smart operations with SVG

imgproxy allows you to to perform SVG minification. With imgproxy, you can even inject custom CSS into SVG.

pro

Advanced JPEG optimization

Squeeze your JPEGs to the last byte without compromising on quality.

pro

Your own presets

imgproxy saves development time: create a named preset and use it as a shortcut throughout your app code.

Make images fit your design:

Image adjustment

imgproxy adjusts brightness, contrast, and saturation to make your images more vibrant.

pro

Blur & sharpen filters

imgproxy can take care of blur—or sharpening—for you to make sure your images make the maximum impact.

Auto unsharpening

imgproxy automatically unsharpens your pictures on resize, so the image remains crisp.

pro

Pixelate filter

imgproxy can pixelate images to hide sensitive information!

pro

Watermarking

imgproxy allows you to add a logo or copyright text to every image by default.

Embrace modern web formats:

Animated images processing

You can apply all imgproxy features to GIFs and animated WebPs.

Automatic conversion to WebP

imgproxy can automatically convert your image to WebP, if the user’s broswer supports it.

GIF to MP4 conversion

imgproxy can convert your GIFs to MP4s to reduce animations size dramatically.

pro

Video thumbnail generation

imgproxy can turn every frame from a video file into a preview image.

prosoon
Get the Pro version

Security out of the box

Mass processing of images is potentially dangerous, security-wise. So it is a good idea to consider preventive measures first. imgproxy deals with the most common attack vectors:

Image bomb

Image bombs

imgproxy checks image type and its “real” dimensions and cancels processing if the image is fake or its size is too big—protecting you from GB-sized surprises, waste of processor time and denial of service.

Fingerprint

Signature

imgproxy protects image URLs with a cryptographic signature, so attackers cannot cause a denial-of-service attack by requesting multiple image resizes.

Authorization

Authorization

imgproxy supports authorization by an HTTP header. It can hide the origin of your image to protect it from attackers, while still allowing to serve images from a CDN or a caching server.

Try it now

Fast as in “instant”

imgproxy uses probably the most efficient image processing library out there, libvips. It is screaming fast and has a tiny memory footprint. See the comparison with some well-known alternatives in our benchmark.

Speed comparison
Try it now

Try imgproxy for free

Docker

See full documentation, or read our article for a step-by-step guide!

Go further with our Pro version

For our most demanding customers, we can provide access to a Pro version of imgproxy that includes additional features and priority support for all your issues.

Build a custom solution

imgproxy development is backed by Evil Martians, a product development consultancy with more than ten years of experience in building successful applications. We are ready to consult your development team, adjust improxy to your needs, or even integrate it into your infrastructure.