Image Resizer
Resize an image to exact pixel dimensions, with or without locking the aspect ratio — free and watermark-free.
How it works
- Upload. Choose the image to resize (up to 25 MB).
- Enter size. Type a width and/or height in pixels. Keep "aspect ratio" ticked to scale proportionally.
- Download. The resized image downloads automatically using a high-quality Lanczos filter.
About this tool
Resize an image to the exact width and height you need. Enter just a width (or just a height) and keep the box ticked to scale the other side proportionally, or set both and untick it to force precise dimensions. Resizing uses a high-quality Lanczos filter, so downscaled images stay crisp rather than jagged. The output keeps the original format where possible. As always: no watermark, no signup, processed in memory and discarded.
What people use it for
- Fit an image to a forum or marketplace pixel limit
- Make a profile or avatar image a required square size
- Downscale a huge photo for the web without jagged edges
- Standardize a set of images to the same width
Developer API
Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.
https://best.free/api/tools/image-resizer/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
photo.jpg |
Yes | Any common image, ≤25 MB. |
width |
800 |
No | Target width in px. |
height |
600 |
No | Target height in px. |
keep_aspect |
True |
No | Lock aspect ratio. |
curl -X POST https://best.free/api/tools/image-resizer/ \
-F 'file=@photo.jpg' \
-F 'width=800' \
-F 'height=600' \
-F 'keep_aspect=True' \
-o resized.png
import requests
files = {"file": open("photo.jpg", "rb")}
data = {"width": 800, "height": 600, "keep_aspect": True}
r = requests.post("https://best.free/api/tools/image-resizer/", files=files, data=data)
with open("resized.png", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
fd.append("width", 800);
fd.append("height", 600);
fd.append("keep_aspect", true);
const r = await fetch("https://best.free/api/tools/image-resizer/", { method: "POST", body: fd });
const blob = await r.blob(); // the resized.png
Response: The resized image (same format where possible).