Free image resizer
Drop an image and give it a new width, a new height or both: fitted inside the box with all of the picture kept, or filling the box as a thumbnail cut from the centre. It is never enlarged unless you ask. The form calls the same free API your code can call: one POST, no API key and no account. The result waits in Storage for 24 hours.
curl -s -X POST https://aisenseapi.com/services/v1/image_resize \
-F "file=@photo.jpg" \
-F "width=800"
{
"storage_id": "993a1e6c-05c7-499e-a91c-27acfd276821",
"storage_url": "https://aisenseapi.com/services/v1/storage/993a1e6c-05c7-499e-a91c-27acfd276821",
"sha256_hash": "5873dba208f75963c40bc01d7d9542a82473218bc274dab6ea9917c9264c329b",
"bytes": 102116,
"expire_timestamp": 1790806372,
"expire_datetime": "2026-09-30T22:12:52+00:00",
"content_type": "image/jpeg",
"filename": "result.jpg",
"operation": "image_resize",
"format": "jpeg",
"width": 800,
"height": 600,
"input_format": "jpeg",
"input_bytes": 641358,
"input_width": 1600,
"input_height": 1200,
"fit": "contain",
"upscaled": false
}Try it in the browser
This form posts your image to the same endpoint and shows the stored result. The image is sent to aisenseapi.com, and the result is kept for 24 hours at a link that anyone with the link can open.
How the resize works
- Contain, the default, fits all of the picture inside the width and height you give, and keeps its aspect ratio. Give one side only and the other follows.
- Cover fills the box exactly and cuts what sticks out from the centre, which is what a square thumbnail or a fixed-size card needs. It needs both a width and a height.
- Nothing is enlarged unless you ask. A picture already smaller than the box keeps its size; with cover, only what sticks out is cut. Send
upscale=trueto enlarge, and the answer saysupscaled: truewhen it happened. - The format stays unless you name another. A HEIC from an iPhone comes out as JPEG, since HEIC is read but not written.
- The image is turned upright from the orientation a phone camera writes in the EXIF data, before that data is removed.
- EXIF, XMP, IPTC and comments are removed, so the camera, the GPS position, the date and the software do not follow the image. The ICC colour profile is kept, so the colours stay the same. A CMYK JPEG is converted to RGB.
The API
POST https://aisenseapi.com/services/v1/image_resize with multipart/form-data.
| Field | Required | Meaning |
|---|---|---|
file | yes | The image: JPEG, PNG, WebP or HEIC. |
width, height | one of them | The box in pixels, from 1 to 10000. |
fit | no | contain or cover. contain when left out; cover needs both sides. |
upscale | no | true to let a smaller picture be enlarged. false when left out. |
format | no | jpeg, png or webp. The format of the upload when left out, and JPEG for a HEIC. |
quality, lossless | no | As on the image converter: 40 to 95 for JPEG and WebP, 82 when left out, and lossless for WebP. |
The answer has the Storage fields, width and height of the result, and input_width and input_height, the size of the upload once turned upright. fit repeats the fit, and upscaled says whether the picture was enlarged.
The answer is a Storage link
The endpoint never sends the image in its answer. It stores the result for 24 hours and answers with the same fields the Temporary Storage API answers with, plus what the result is:
| Field | Meaning |
|---|---|
storage_id, storage_url | Where the result is. A GET on the URL returns the image. |
sha256_hash, bytes | The digest and size of the stored image. |
expire_timestamp, expire_datetime | When the result is removed, 24 hours after it was stored. |
content_type, filename | The type of the image and the name to save it under. |
operation, format, width, height | The endpoint that made it, and the format and size of the result in pixels. |
input_format, input_bytes | What the upload was, so the saving can be read off. |
The example at the top of the page comes from a test run with a test image of 1600 x 1200 pixels. The id and the expiry are different on every call, and the sizes depend on the image.
Anyone with the link can open the image until it expires, so do not send pictures of people or anything confidential. Stored results count against the Storage budget of 80 MB per IP address per day.
Limits
- The upload is at most 10 MB and 25 megapixels, and so is an enlarged result. A width or height is at most 10000 pixels.
- The result is at most 8 MB. A photo saved as PNG often goes over that; as JPEG or WebP it is far smaller.
- WebP allows at most 16383 pixels per side.
- One conversion may take at most 45 seconds.
- At most two images are converted at a time. A third waits up to ten seconds and is then answered 503 with
Retry-After.
Errors
A refused request stores nothing and answers with error. The endpoint's own refusals also carry fix, a sentence saying what to send instead.
| Status | When |
|---|---|
400 | A field is missing, unknown or out of range, the upload is not one whole file, or ImageMagick cannot read the image. |
405 | The method is not POST. |
413 | The upload, its number of pixels or the result is over a limit. |
415 | The body is not multipart/form-data, or the file is not a JPEG, PNG, WebP or HEIC. |
429 | More than 5000 requests from one IP address in 24 hours, or the day's Storage budget is used up. |
503 | Two images are being converted already, the conversion took more than 45 seconds, or the service cannot convert right now. |
Questions
Is the image resizer API free?
Yes. No API key, no account and no sign up. The limit is 5000 requests per IP address per 24 hours, and stored results count against the Storage budget of 80 MB per IP address per day.
Does it keep the aspect ratio?
Yes. Contain fits all of the picture inside the box, and cover fills the box and cuts what sticks out from the centre. Neither stretches the picture.
How do I make a square thumbnail?
Send the same width and height with fit=cover, for example 400 and 400. The picture fills the square and is cut from the centre.
Will it enlarge a small image?
Only if you send upscale=true. Otherwise a picture already smaller than the box keeps its size, and the answer says upscaled: false.
Can it resize iPhone photos?
Yes. It reads HEIC, turns the photo upright, keeps its colour profile and gives back a JPEG unless you ask for PNG or WebP.
Is the location removed?
Yes. EXIF with the GPS position, XMP, IPTC and comments are removed from every result. The colour profile is kept.
Related tools
- Image converter, image resizer and image compression, and the HEIC to JPG converter for iPhone photos
- Image metadata viewer and EXIF remover
- Guide: how to see and remove the location hidden in your photos
- Colour palette and favicon generator
- Guide: favicon sizes and the files a website needs
- JSON to CSV, CSV to JSON and table matching
- JSON formatter and JSON validator
- File uploader and the Temporary Storage API, where every result is kept for 24 hours