> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://uploadcare.com/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://uploadcare.com/docs/_mcp/server.

# Image transformations

> Transform images on the fly using Uploadcare CDN operations. Customize size, format, crop, and more to fit your app or site performance needs.

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

Use and stack transformations right in the image URL:

<table>
  <tbody>
    <tr>
      <td>
        [](https://2ilqpaxwma.ucarecd.net/5e39e315-c06c-4d81-9b4a-35fca661621c/-/preview/image.jpg)

        \


        Original image
      </td>

      <td>
        [](https://2ilqpaxwma.ucarecd.net/5e39e315-c06c-4d81-9b4a-35fca661621c/-/preview/-/sharp/15/image.jpg)

        \


        Sharpen `-/sharp/15/`
      </td>

      <td>
        [](https://2ilqpaxwma.ucarecd.net/5e39e315-c06c-4d81-9b4a-35fca661621c/-/preview/-/enhance/100/image.jpg)

        \


        Enhance `-/enhance/100/`
      </td>
    </tr>
  </tbody>
</table>

## 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](/docs/delivery/) to optimize delivery.

[`https://:subdomain.ucarecd.net/:uuid/-/resize/200x/`](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/resize/200x/)

Also, you can [fetch and deliver images](/docs/delivery/proxy/) to apply operations
without explicitly uploading them:

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

Image processing operation may only apply to [appropriate file](/docs/cdn-operations/#formats).
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
an operation can be applied to the file. See the [Limitations](#limits) section.

When applying any image operation, a new file is created (cached on our CDN,
and not counted towards your storage limits). If not set, this file is encoded
with the default [quality](/docs/compression/#operation-quality) and original
[format](/docs/compression/#operation-format). However, you can adjust them to meet your
requirements better.

## Full list of image transformations operations \[#image-transformations-list]

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

* [Resize, crop, rotation](/docs/transformations/image/resize-crop/#size)
  * [Preview](/docs/transformations/image/resize-crop/#operation-preview)
  * [Resize](/docs/transformations/image/resize-crop/#operation-resize)
  * [Smart resize](/docs/transformations/image/resize-crop/#operation-smart-resize)
  * [Crop](/docs/transformations/image/resize-crop/#operation-crop)
  * [Crop by ratio](/docs/transformations/image/resize-crop/#operation-crop-aspect-ratio)
  * [Crop by objects](/docs/transformations/image/resize-crop/#operation-crop-tags)
  * [Scale crop](/docs/transformations/image/resize-crop/#operation-scale-crop)
  * [Smart crop](/docs/transformations/image/resize-crop/#operation-smart-crop)
  * [Crop solid background](/docs/transformations/image/resize-crop/#operation-trim)
  * [Border radius and circle crop](/docs/transformations/image/resize-crop/#operation-border-radius)
  * [Set fill color](/docs/transformations/image/resize-crop/#operation-setfill)
  * [Zoom objects](/docs/transformations/image/resize-crop/#operation-zoom-objects)
  * [Automatic rotation, EXIF-based](/docs/transformations/image/resize-crop/#operation-autorotate)
  * [Manual rotation](/docs/transformations/image/resize-crop/#operation-rotate)
  * [Flip](/docs/transformations/image/resize-crop/#operation-flip)
  * [Mirror](/docs/transformations/image/resize-crop/#operation-mirror)
* [Overlays and watermarks](/docs/transformations/image/overlay/)
  * [Image overlay](/docs/transformations/image/overlay/#overlay-image)
  * [Self overlay](/docs/transformations/image/overlay/#overlay-self)
  * [Text overlay](/docs/transformations/image/overlay/#overlay-text)
* [Effects and enhancements](/docs/effects-enhancements/)
  * [Basic color adjustment](/docs/effects-enhancements/#image-colors-operations)
  * [Enhance](/docs/effects-enhancements/#operation-enhance)
  * [Grayscale](/docs/effects-enhancements/#operation-grayscale)
  * [Inverting](/docs/effects-enhancements/#operation-invert)
  * [Color profile management](/docs/effects-enhancements/#image-color-profile-management)
    * [Conversion to sRGB](/docs/effects-enhancements/#operation-srgb)
    * [ICC profile size threshold](/docs/effects-enhancements/#operation-max-icc-size)
  * [Photo filters](/docs/effects-enhancements/#image-photo-filters)
  * [Blur](/docs/effects-enhancements/#operation-blur)
  * [Blur region](/docs/effects-enhancements/#operation-blur-region)
  * [Blur faces](/docs/effects-enhancements/#operation-blur-region-faces)
  * [Unsharp masking](/docs/effects-enhancements/#operation-blur-mask)
  * [Sharpen](/docs/effects-enhancements/#operation-sharp)
  * [Color recognition](/docs/effects-enhancements/#color-recognition)
* [Face-detection based transformations](/docs/face-detection/)
* [Animated images optimization](/docs/transformations/gif-to-video/)
* [SVG transformations and rasterization](/docs/transformations/image/svg/)

Note: Some image operations can't be performed on the fly and work asynchronously via [REST API](https://uploadcare.com/docs/api/rest/):

* [Background removal](/docs/remove-bg/)
* [Object recognition](/docs/object-recognition/)
* [Video thumbnail generation](/docs/transformations/video-encoding/#operation-thumbs)
* [Document thumbnail generation](/docs/transformations/file-conversion/#process)

Image optimization operations can be found in a separate section:

* [Compression](/docs/compression/)
  * [Format](/docs/compression/#operation-format)
  * [Quality](/docs/compression/#operation-quality)
  * [Adaptive quality](/docs/compression/#smart-compression)
  * [Progressive JPEG](/docs/compression/#operation-progressive)
  * [Meta information control](/docs/compression/#meta-information-control)

## Limitations \[#limits]

Image processing operations have limits that you should consider:

* Input image formats
* Mandatory usage of core operations
* File size
* Output image dimensions
* SVG files
* Image resolution
* Rotation
* Animated images

Learn more about [image processing limitations](/docs/cdn-operations/#limits).