Image processing

With Uploadcare, you can easily build custom image transformation workflows and automate most image manipulation and optimization tasks. For example, you can set up a chain of actions for user-generated images that'll unify their look.

Change format, crop and resize images to fit any design and any screen on the fly. Adjust image colors, apply artistic filters, and enhance. You can use and stack transformations right in the image URL:

Original image
Original image
Sharpened image
Sharpen -/sharp/15/
Enhanced image
Enhance -/enhance/100/

How it works

Every URL transformation generates a modified image version on the fly, while the original file stays intact. The transformed image version will be cached on CDN nodes to optimize delivery.

https://ucarecdn.com/:uuid/-/resize/200x/

Without any image processing operation in the URL, CDN instructs browsers to show images (Content-Disposition: inline) and download other file types (Content-Disposition: attachment). Browsers may not show all image formats, for example, TIFF and HEIC format. If you need to display an image, add any image processing operation, -/preview/ for instance.

Also, you can use Proxy to apply image transformations without explicitly uploading them:

https://yoursite.ucr.io/-/preview/-/resize/500x/https://yoursite.com/assets/image.jpg

Image processing operations may be applied only to appropriate files. On uploading, the file is analyzed by Uploadcare: file type, metadata, and so on; the file is assigned an attribute is_image. If this attribute is true, then image processing operations can be applied to the file. See the Limitations section to find which files are tagged as images.

Full list of image processing operations

Most of the image processing operations work on-the-fly:

Note: Some image operations can't be perfomed on the fly and work asynchronously via REST API:

Input image formats

List of supported image formats:

  • AVIF
  • BMP
  • GIF
  • HEIC
  • JPEG
  • PCX
  • PNG
  • TGA
  • TIFF
  • WEBP

Some formats have several variations, and we support the most popular ones. Contact sales if you require additional formats or variations.

Limitations

This section describes the limits to consider when implementing Uploadcare Image processing.

Core operations

When processing images, you must add at least one of the following operations via their respective URL directives:

File size

Image processing operations can be applied to files smaller than 100 MB.

The file size limit can be increased individually. To do this, contact sales.

Output image dimensions

The dimensions you specify for the last operation should not exceed 3000x3000 pixels. You can go up to 5000x5000 pixels by explicitly setting your image format to JPEG, /format/jpeg/.

You can extend the output max resolution up to 8192x8192, and up to 16384x16384 for JPEGs in trade-off for increased latency. Contact sales to learn more about this option.

SVG files

Any image transformation CDN URL is valid with an SVG file. Most operations don't affect the response SVG body, while geometric operations (crop, preview, resize, scale_crop) change SVG attributes and work as expected.

To apply full range of operations on SVG file, it should be rasterized by applying /rasterize/ operation.

Note: Operation is safe to apply to any image. Not SVG images won't be affected by this operation.

Rasterized image
Rasterized SVG image -/rasterize/
Blurred image
Blurred image -/rasterize/-/blur/50/
Blurred image
Inverted colors -/rasterize/-/invert/

SVGs uploaded before May 26, 2021 still have is_image: false and adding processing operations to them will result in error. Contact support to batch process previously uploaded files.

Image resolution

We don’t provide on-the-fly image processing for images greater than 75 Mpx in resolution: those are tagged as non-image files and can only be delivered via CDN as-is. Adding processing operations to non-image files will result in an error.

Simple rotation

When the only image transformation you want is rotating, consider using the preview control without any arguments. When you use any of the transformations, we automatically rotate images according to their EXIF orientation.

Animated images

Animated images are treated as static by the transformations engine, consider checking out our GIF to Video workflow optimized for animated images delivery.

Migrating

If you migrate your files to Uploadcare from a DIY solution or another file management service (Filestack, Cloudinary, etc.), you need to copy files and map image processing operations. Use a Migro tool (GitHub) to copy files. For an example of comparing Filestack image processing operations to Uploadcare operations, see Migrating images from Filestack.