Image processing
On this page
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 | ![]() Sharpen -/sharp/15/ | ![]() 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:
- Compression
- Resize, Crop, Rotate
- Overlays and watermarks
- Effects and enhancements
- Face-detection based transformations
- Animated images
- Rasterization
Note: Some image operations can't be perfomed on the fly and work asynchronously via REST API:
- Background removal
- Object recognition
- Video and document thumbnail generation
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 SVG image -/rasterize/ | ![]() Blurred image -/rasterize/-/blur/50/ | ![]() 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.