> 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.

# Resize, crop, rotation

> Resize and crop images on the fly with Uploadcare’s CDN to fit any layout, device, or display requirement.

Responsive design necessitates displaying pictures in many sizes, usually much
smaller than the original. Rather than delivering large, full-sized images and
relying on the browser to resize them, you can programmatically scale them
immediately without needing to use editing tools.

Going further, you can automate art direction with advanced scaling features
such as smart resize, smart crop, and object zoom.

Typical use cases:

* Use `-/preview/` when you need to put an image inside a known tile without
  changing its proportions, and ok with empty space. E.g. you have a layout of
  300x400, and neither horizontal nor vertical photos shouldn't escape these borders.
* When you need image to *fill* the whole tile, use `-/scale_crop/`.
* Do you want to keep proportions but fill the whole tile? Try `-/smart_resize/`
  that will generate missing parts of the picture.
* Need to bring attention to the key elements of the picture, like a face? Use
  `-/scale_crop/smart/` to crop a background, but keep important objects.
* Need perfect user pics? Combine `-/crop/face/`, `-/border_radius/`, and
  `-/setfill/` operations.

![](https://23dr6evpmc.ucarecd.net/107a13ad-93ad-4385-88f1-51b822dd9e66/-/preview/)

These operations, like other URL API functions, are non-destructive, handled on
the server side, and sent to the browser in the requested size.

Note: The order of operations is essential. For instance, when you resize an image
first, the ensuing crop operation will use the coordinates of the resized image.

## Preview \[#operation-preview]

`-/preview/`\

`-/preview/:dimensions/`

Downscales an image proportionally to fit the given width and height in pixels.
Use it as a default resizing method when you need to save image proportions
without calculating precise width or height.

* `:dimensions`: width and height in pixels separated by `x`.\

  Example: `320x240`.\

  If the dimensions are not specified, it'll be `2048x2048`.

  [`/:uuid/-/preview/`](https://1gkkwxp4lp.ucarecd.net/85b5644f-e692-4855-9db0-8c5a83096e25/-/preview/)

  [`/:uuid/-/preview/300x500/`](https://1gkkwxp4lp.ucarecd.net/85b5644f-e692-4855-9db0-8c5a83096e25/-/preview/300x500/)

## Resize \[#operation-resize]

`-/resize/:one_or_two_dimensions/`

Resizes an image to one or two dimensions. When you set both width and height
explicitly, it may result in a distorted image. If you specify either side,
this operation will preserve the original aspect ratio and resize the image
accordingly.

* `:one_or_two_dimensions`: width and height in pixels separated by `x`,
  one of the values can be omitted. \

  Examples: `320x240`, `320x`, `x240`.

  [`/:uuid/-/resize/320x240/`](https://1gkkwxp4lp.ucarecd.net/85b5644f-e692-4855-9db0-8c5a83096e25/-/resize/320x240/)

  [`/:uuid/-/resize/320x/`](https://1gkkwxp4lp.ucarecd.net/85b5644f-e692-4855-9db0-8c5a83096e25/-/resize/320x/)

  [`/:uuid/-/resize/x240/`](https://1gkkwxp4lp.ucarecd.net/85b5644f-e692-4855-9db0-8c5a83096e25/-/resize/x240/)

### Change resize behavior \[#operation-stretch]

`-/stretch/:mode/`

Sets the `resize` and `scale_crop` behavior when a source image is smaller than
the requested dimensions. The order is important: a `stretch` operation applies
to its following `resize` or `scale_crop`. You can use multiple resizing
operations with individual `stretch` behavior for each one.

* `:mode`: one of the following values:
  * `on`: an image can be scaled up (default).
  * `off`: an image won't be scaled up.
  * `fill`: no image scaling up. The
    [background color](/docs/transformations/image/resize-crop/#operation-setfill) fills the remaining parts.

<table>
  <tr>
    <td>
      [![Resized image but stretched](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/resize/220x/)](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/resize/220x/)

      \


      `-/preview/160x160/`

      \


      `-/resize/220x/`
    </td>

    <td>
      [![Resized image, same dimensions](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/stretch/off/-/resize/220x/)](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/stretch/off/-/resize/240x160/)

      \


      `-/preview/160x160/`

      \


      `-/stretch/off/`

      \


      `-/resize/220x/`
    </td>

    <td>
      [![Resized image, same placeholder size with a background fill](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/setfill/8d8578/-/stretch/fill/-/resize/220x/)](https://examples.ucarecd.net/52da3bfc-7cd8-4861-8b05-126fef7a6994/-/quality/best/-/preview/160x160/-/setfill/8d8578/-/stretch/fill/-/resize/220x/)

      \


      `-/preview/160x160/`

      \


      `-/stretch/fill/`

      \


      `-/resize/220x/`
    </td>
  </tr>
</table>

## Smart resize \[#operation-smart-resize]

`-/smart_resize/:dimensions/`

Content-aware resize helps retaining original proportions of faces
and other visually sensible objects while resizing the rest of
the image using intelligent algorithms.

* `:dimensions`: width and height in pixels separated by `x`. \

  Example: `320x240`.

<table>
  <tr>
    <td>
      [![](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/resize/440x/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/resize/440x/)

      \


      Original image, `440x500`\

    </td>

    <td>
      [![](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/smart_resize/440x600/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/smart_resize/440x600/)

      \


      `-/smart_resize/440x600/`

      \

    </td>

    <td>
      [![](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/smart_resize/440x300/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/smart_resize/440x300/)

      \


      `-/smart_resize/440x300/`

      \

    </td>
  </tr>
</table>

Smart resize works best for solid, gradient, and homogeneous backgrounds
that'll be expanded. If background stretching can't be done without
artifacts, a solid fill with a matching color will be applied instead.

Note that we are working on improving Smart resize and behavior may
change. [Contact us](mailto:help@uploadcare.com) if you found out regression.

## Crop \[#operation-crop]

`-/crop/:dimensions/`\

`-/crop/:dimensions/:alignment/`

Crops an image by using specified dimensions and alignment.

* `:dimensions`: width and height in pixels or percents separated by
  `x`.\

  Percent values are based on original size and should end with `%` or `p`
  char.\

  Examples: `320x240`, `50px240`, `30%x25%`.
* `:alignment`: horizontal and vertical offsets in pixels or percents
  separated by `,`.\

  Offset in pixels is allowed to be negative. Percent values are a position
  of cropped area in full image canvas and should end with `%` or `p` char.\

  Examples: `100,-50`, `50p,240`, `30%,25%`.\

  A single semantic shortcut is also allowed as an alignment value: `center`,
  `top`, `right`, `bottom`, `left`.\

  If alignment is not specified, `0,0` value is used.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/crop/200x200/80%25,80%25/`. For convenience, you can use
the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Original image](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/preview/)

      \


      Original
    </td>

    <td>
      [![Crop to center](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/crop/2000x1325/center/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/crop/2000x1325/center/)

      \


      `-/crop/2000x1325/center/`
    </td>

    <td>
      [![Crop to coordinates](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/crop/640x424/2560,830/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/crop/640x424/2560,830/)

      \


      `-/crop/640x424/2560,830/`
    </td>
  </tr>
</table>

If given dimensions are greater than the ones of the original image,
the image is rendered inside a color-filled box. The color of that box
can be changed via the [`setfill`](/docs/transformations/image/resize-crop/#operation-setfill) operation.

## Crop by ratio \[#operation-crop-aspect-ratio]

`-/crop/:ratio/`\

`-/crop/:ratio/:alignment/`

Crops the image to the specified aspect ratio, cutting off
the rest of the image.

* `:ratio`: two numbers greater than zero separated by `:`.\

  Ratio is the quotient from the division of these numbers.
* `:alignment`: horizontal and vertical offsets in pixels or percents
  separated by `,`.\

  Offset in pixels is allowed to be negative. Percent values are
  a position of cropped area in full image canvas and should end
  with `%` or `p` char.\

  Examples: `100,-50`, `50p,240`, `30%,25%`.\

  A single semantic shortcut is also allowed as an alignment value: `center`,
  `top`, `right`, `bottom`, `left`.\

  If alignment is not specified, `center` value is used.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/crop/4:3/80%25,80%25/`. For convenience, you can use
the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Original](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/preview/)

      \

    </td>

    <td>
      [![Crop 4:3](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/crop/4:3/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/crop/4:3/)

      \

    </td>

    <td>
      [![Crop 16:9](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/crop/16:9/bottom/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/f70b3810-1f72-4ad3-97c9-fd1c9c24db6f/-/crop/16:9/bottom/)

      \

    </td>
  </tr>

  <tr>
    <td>
      Original
    </td>

    <td>
      `-/crop/4:3/`
    </td>

    <td>
      `-/crop/16:9/bottom/`
    </td>
  </tr>
</table>

## Crop by objects \[#operation-crop-tags]

`-/crop/:tag/`\

`-/crop/:tag/:ratio/`\

`-/crop/:tag/:ratio/:alignment/`\

`-/crop/:tag/:dimensions/`\

`-/crop/:tag/:dimensions/:alignment/`

Crops the image to the object specified by the `:tag` parameter.

* `:tag`: one of the following values:
  * `face`: the largest detected face in the image is used as
    a crop basis.
  * `image`: the whole image is used as a crop basis.
* `:ratio`: two numbers greater than zero separated by `:`.
  Ratio is the quotient from the division of these numbers.
  The found object fits into the given aspect ratio.
* `:dimensions`: width and height in percents separated by `x`.\

  Percent values are based on the tag size and should end with `%`
  or `p` char.\

  Examples: `150%x150%`, `200%x100%`.
* `:alignment`: horizontal and vertical offsets in percentage
  values separated by comma (`,`).\

  The offsets represent a position of cropped area that is based on
  the selected tag location (for instance, a face). The offset
  percentage values should end with `%` or `p` char.\

  Examples: `30%,25%`, `30p,25p`\

  A single semantic shortcut is also allowed as an alignment value: `center`,
  `top`, `right`, `bottom`, `left`.\

  If alignment is not specified, `center` value is used.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/crop/face/4:3/80%25,80%25/`. For convenience, you can use
the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Original](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/preview/)

      \

    </td>

    <td>
      [![Cropped image by face with square sides](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/crop/face/1:1/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/crop/face/1:1/)

      \

    </td>

    <td>
      [![Cropped image by face with parameters](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/crop/face/200px200p/-/crop/1:1/50p,30p/-/quality/lightest/)](https://examples.ucarecd.net/0b7f4867-616f-4ca5-81fb-d2bd4b38443e/-/crop/face/200px200p/-/crop/1:1/50p,30p/)

      \

    </td>
  </tr>

  <tr>
    <td>
      Original
    </td>

    <td>
      `-/crop/face/1:1/`
    </td>

    <td>
      `-/crop/face/200px200p/`

      \


      `-/crop/1:1/50p,30p/`
    </td>
  </tr>
</table>

## Scale crop \[#operation-scale-crop]

`-/scale_crop/:dimensions/`\

`-/scale_crop/:dimensions/:alignment/`

Scales an image until it fully covers the specified dimensions; the rest
gets cropped. Mostly used to place images with various dimensions into
placeholders (e.g., square shaped).

* `:dimensions`: width and height in pixels separated by `x`.\

  Examples: `320x240`, `440x440`.
* `:alignment`: horizontal and vertical offsets in percentage
  values separated by comma (`,`).\

  The offsets represent a position of cropped area that is based on
  the selected tag location (for instance, a face). The offset
  percentage values should end with `%` or `p` char.\

  Examples: `30%,25%`, `30p,25p`\

  A single semantic shortcut is also allowed as an alignment value: `center`,
  `top`, `right`, `bottom`, `left`.\

  If alignment is not specified, `0,0` value is used.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/scale_crop/440x440/80%25,80%25/`. For convenience, you can use
the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Resize image to a size, stretched](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/resize/1024x1024/-/preview/440x440/-/quality/lighter/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/resize/1024x1024/)

      \


      `-/resize/1024x1024/`\

      Requested size\

      Distorted
    </td>

    <td>
      [![Adjust size, keep dimensions](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/1024x1024/-/preview/440x440/-/quality/lighter/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/1024x1024/)

      \


      `-/preview/1024x1024/`\

      Adjusted size\

      No distortion
    </td>

    <td>
      [![Resize image to a placeholder, zoom and crop](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/1024x1024/center/-/preview/440x440/-/quality/lighter/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/1024x1024/center/)

      \


      `-/scale_crop/1024x1024/center/`\

      Requested size\

      No distortion
    </td>
  </tr>
</table>

## Smart crop \[#operation-smart-crop]

`-/scale_crop/:dimensions/:type/`\

`-/scale_crop/:dimensions/:type/:alignment/`

Switching the crop type to one of the `smart` modes enables the content-aware
mechanics. Uploadcare applies AI-based algorithms to detect faces and other
visually sensible objects to crop the background and not the main object.

* `:dimensions`: width and height in pixels separated by `x`.\

  Examples: `320x240`, `440x440`.
* `:type`: one of the following values:
  * `smart` (alias for `smart_faces_objects_points`)
  * `smart_faces_objects`
  * `smart_faces_points`
  * `smart_objects_faces_points`
  * `smart_objects_faces`
  * `smart_objects_points`
  * `smart_points`
  * `smart_objects`
  * `smart_faces`
* `:alignment`: horizontal and vertical offsets in percentage
  values separated by comma (`,`).\

  The offsets represent a position of cropped area that is based on
  the selected tag location (for instance, a face). The offset
  percentage values should end with `%` or `p` char.\

  Examples: `30%,25%`, `30p,25p`\

  A single semantic shortcut is also allowed as an alignment value: `center`,
  `top`, `right`, `bottom`, `left`.\

  If alignment is not specified, `0,0` value is used.
  Alignment doesn't affect smart crop behavior and works as a fallback when no smart crop can't detect any objects.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/scale_crop/440x440/smart/80%25,80%25/`. For convenience,
you can use the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Smart crop to an object](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/1024x1024/smart/-/preview/440x440/-/quality/lighter/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/1024x1024/smart/)

      \


      `-/scale_crop/1024x1024/smart/`\

      Smart cropping
    </td>
  </tr>
</table>

Content-aware mechanics of the smart crop are based on the following methods of
image analysis:

* Face Detection, `:type` is set to `smart_faces`. Face detection identifies and
  locates human faces in digital images.
* Object Detection, `:type` is set to `smart_objects`. Object detection
  identifies and locates most visually important regions in the image.
* Corner Points Detection, `:type` is set to `smart_points`. This method
  analyses image pixels to find the high contrast corners in the image, useful
  for abstract, landscape, and art images. The corner points have much less
  semantic information than other methods and designed to be used as a fallback.

The methods you include separating by underscore are applied sequentially. The
algorithm switches to the next method only if no regions were found by the
previous one. For example `smart_faces_objects_points` applies face detection
initially as the first step. Only when no faces are found on an image, the
object detection will be used. Finally, when no objects are found, the corner
points will be detected.

<table>
  <tr>
    <td>
      [![Cropped image, auto centered on a face](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_faces_objects/-/preview/300x300/-/quality/lighter/)](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_faces_objects/)

      \


      `smart_faces_objects`\

      Centering on faces or objects \
      &#x20;when no faces found\

    </td>

    <td>
      [![Cropped image, auto centered on objects and faces](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_objects_faces_points/-/preview/300x300/-/quality/lighter/)](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_objects_faces_points/)

      \


      `smart_objects_faces`\

      Centering on objects or faces \
      &#x20;when no objects found\

    </td>

    <td>
      [![Image centering on hard edges](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_points/-/preview/300x300/-/quality/lighter/)](https://23dr6evpmc.ucarecd.net/36cda64e-7f8c-4e54-89f0-6a7b1d90a8dd/-/scale_crop/900x900/smart_points/)

      \


      `smart_points`\

      Centering on corner points\

    </td>
  </tr>
</table>

Smart crop always tries to save the maximum amount of pixels from the original
image. It first applies scale operation and then cuts horizontal or vertical
excesses.

## Crop solid background \[#operation-trim]

`-/trim/`\

`-/trim/:tolerance/:padding/`

Removes insignificant edges of the image, such as solid backgrounds or fully transparent areas.

By default, this operation only removes colors very close to the background.
It can be adjusted with a color distribution `:tolerance` parameter, ranging from 0 to 99.

Since objects cropped to the edges can look unnatural, you can optionally add `:padding`,
specified as a percentage of the resulting image, ranging from 0% to 100%.

<table>
  <tr>
    <td>
      [![Original image](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/preview/)

      \


      Original image
    </td>

    <td>
      [![Crop solid background](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/trim/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/trim/-/preview/)

      \


      `-/trim/`
    </td>

    <td>
      [![Crop solid background with less tolerance and paddings](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/trim/30/10p/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/866a423b-8225-49a4-8253-30c1829b7d7c/-/trim/30/10p/-/preview/)

      \


      `-/trim/30/10p/`
    </td>
  </tr>
</table>

## Border radius and circle crop \[#operation-border-radius]

`-/border_radius/:radii/`\

`-/border_radius/:radii/:vertical_radii/`

Applies transparency mask with round or elliptical corners to the image.

The syntax and effect is pretty much similar to the `border-radius` property in CSS.
E.g. `border-radius: 10px 100px / 50%;` would become `-/border_radius/10,100/50%/`.
The differences are:

* One should use a comma instead of a space to separate arguments.
  No spaces allowed.
* Only percents and absolute values are allowed.
* `px` for absolute values should be omitted.

If `:vertical_radii` is omitted, `:radii` used for both horizontal and
vertical radii. Both `:radii` and `:vertical_radii` should contain
1 to 4 numbers separated by comma. Each number could be an absolute radius
in pixels or a percentage value ended with `%` or `p` char.

* The first number in each argument represents all 4 corner radii,
  or NW and SE corner radii, or just NW radius depending on next values presence.
* The second number represents NE and SW corner radii,
  or just NE radius depending on next values presence.
* The third number represents SE corner radius.
* The fourth number represents SW corner radius.

In URLs, `%` is an escape character and should be encoded with `%25` escape
sequence, e.g. `-/border_radius/10%25/50%25/`. For convenience, you can use
the `p` shortcut for percent which doesn't require encoding.

<table>
  <tr>
    <td>
      [![Proportional border radius](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/440x440/smart/-/border_radius/50p/-/quality/lightest/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/scale_crop/440x440/smart/-/border_radius/50p/)

      \


      `-/border_radius/50p/`
    </td>

    <td>
      [![Fixed border radius](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/440x440/-/border_radius/50/-/quality/lightest/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/440x440/-/border_radius/50/)

      \


      `-/border_radius/50/`
    </td>

    <td>
      [![Separate horizontal and vertical radii](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/440x440/-/border_radius/20,200/30p,70p/-/quality/lightest/)](https://examples.ucarecd.net/22240276-2f06-41f8-9411-755c8ce926ed/-/preview/440x440/-/border_radius/20,200/30p,70p/)

      \


      `-/border_radius/20,200/30p,70p/`
    </td>
  </tr>
</table>

## Set fill color when croping and stretching \[#operation-setfill]

`-/setfill/:color/`

Sets the fill color used with [`crop`](#operation-crop),
[`stretch`](#operation-stretch) or when converting an alpha channel enabled
image to JPEG.

* `:color`: color in hexadecimal notation with optional transparency.\

  Example: `99ff99`, `9f9`, `99ff9920`.

<table>
  <tr>
    <td>
      [![Image, cropped to center, resized on a white background](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/quality/lightest/-/preview/440x380/-/crop/440x380/center/)](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/preview/440x380/-/crop/440x380/center/)

      \


      `-/preview/440x380/`

      \


      `-/crop/440x380/center/`
    </td>

    <td>
      [![Image, cropped to center, resized with a color filled background](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/quality/lightest/-/preview/440x380/-/setfill/ece3d2/-/crop/440x380/center/)](https://examples.ucarecd.net/c4b32a69-f817-48be-b918-7eb6718f7aca/-/preview/440x380/-/setfill/ece3d2/-/crop/440x380/center/)

      \


      `-/preview/440x380/`

      \


      `-/setfill/ece3d2/`

      \


      `-/crop/440x380/center/`
    </td>

    <td>
      [![PNG image with alpha channel converted to JPEG with a background fill](https://examples.ucarecd.net/b18b5179-b9f6-4fdc-9920-5539f938fc44/-/quality/better/-/setfill/ece3d2/-/format/jpeg/-/crop/220x190/center/)](https://examples.ucarecd.net/b18b5179-b9f6-4fdc-9920-5539f938fc44/-/setfill/ece3d2/-/format/jpeg/)

      \


      `-/setfill/ece3d2/`

      \


      `-/format/jpeg/`
    </td>
  </tr>
</table>

## Zoom objects \[#operation-zoom-objects]

`-/zoom_objects/:zoom/`

Zoom objects operation is best suited for images with solid
or uniform backgrounds.

* `:zoom`: sets the object's size in the image from 1 to 100.

As a result of the operation, the object's size in the image will change.
The resolution of the image after the operation will remain the same.
For example, an object in an image with applied operation `-/zoom_objects/100/`
is the object that occupies the maximum area of this image.

<table>
  <tr>
    <td>
      [![](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/440x400/-/quality/lightest/-/zoom_objects/20/)](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/-/zoom_objects/20/)

      \


      `-/zoom_objects/20/`

      \

    </td>

    <td>
      [![](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/440x400/-/quality/lightest/-/zoom_objects/50/)](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/-/zoom_objects/50/)

      \


      `-/zoom_objects/50/`

      \

    </td>

    <td>
      [![](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/440x400/-/quality/lightest/-/zoom_objects/100/)](https://examples.ucarecd.net/4b5bbed8-1800-4ae6-ad89-40210a9cf33e/-/preview/-/zoom_objects/100/)

      \


      `-/zoom_objects/100/`

      \

    </td>
  </tr>
</table>

## Automatic rotation, EXIF-based \[#operation-autorotate]

`-/autorotate/yes/`\

`-/autorotate/no/`

The default behavior goes with parsing EXIF tags of original images and rotating
them according to the “Orientation” tag. This is what we call autorotation.
`-/autorotate/no/` allows turning off the default behavior.

<table>
  <tr>
    <td>
      [![EXIF auto rotate](https://examples.ucarecd.net/da235ef2-e5f6-43b2-8a3e-a08d88c5c2f2/-/scale_crop/440x440/center/-/quality/lightest/)](https://examples.ucarecd.net/da235ef2-e5f6-43b2-8a3e-a08d88c5c2f2/-/preview/)

      \


      Default
    </td>

    <td>
      [![No EXIF auto rotation](https://examples.ucarecd.net/da235ef2-e5f6-43b2-8a3e-a08d88c5c2f2/-/scale_crop/440x440/center/-/autorotate/no/-/quality/lightest/)](https://examples.ucarecd.net/da235ef2-e5f6-43b2-8a3e-a08d88c5c2f2/-/preview/-/autorotate/no/)

      \


      `-/autorotate/no/`
    </td>
  </tr>
</table>

## Manual rotation \[#operation-rotate]

`-/rotate/:angle/`

Right-angle image rotation, counterclockwise. The value of `:angle` must be a
multiple of 90.

<table>
  <tr>
    <td>
      [![Original image](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/scale_crop/320x320/-/quality/lightest/)](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/preview/)

      \


      Original image
    </td>

    <td>
      [![Rotate 90 degrees CCV](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/scale_crop/320x320/-/rotate/90/-/quality/lightest/)](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/preview/-/rotate/90/)

      \


      `-/rotate/90/`
    </td>

    <td>
      [![Rotate 180 degrees](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/scale_crop/320x320/-/rotate/180/-/quality/lightest/)](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/preview/-/rotate/180/)

      \


      `-/rotate/180/`
    </td>

    <td>
      [![Rotate 90 degrees CV](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/scale_crop/320x320/-/rotate/270/-/quality/lightest/)](https://examples.ucarecd.net/8a6b30ed-3b50-45b9-aabb-b53e1b05b25b/-/preview/-/rotate/270/)

      \


      `-/rotate/270/`
    </td>
  </tr>
</table>

## Flip \[#operation-flip]

`-/flip/`

Flips images.

<table>
  <tr>
    <td>
      [![Original image](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/)

      \


      Original image
    </td>

    <td>
      [![Vertical flip](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/440x440/-/flip/-/quality/lightest/)](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/-/flip/)

      \


      `-/flip/`
    </td>
  </tr>
</table>

## Mirror \[#operation-mirror]

`-/mirror/`

Mirrors images.

<table>
  <tr>
    <td>
      [![Original image](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/440x440/-/quality/lightest/)](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/)

      \


      Original image
    </td>

    <td>
      [![Vertical flip (mirror)](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/440x440/-/mirror/-/quality/lightest/)](https://examples.ucarecd.net/13448644-f240-4171-bad7-8e079eee491a/-/preview/-/mirror/)

      \


      `-/mirror/`
    </td>
  </tr>
</table>