Crop Image
Crop an image to an exact pixel rectangle, keeping its original format — free and watermark-free.
How it works
- Upload. Choose the image to crop (up to 25 MB).
- Set the area. Enter X and Y for the top-left corner and the width and height of the crop, all in pixels.
- Download. The cropped image downloads automatically in its original format.
About this tool
Crop an image down to exactly the rectangle you want by entering the area in pixels — the X and Y of the top-left corner and the width and height. It's precise rather than guesswork: ideal for trimming a fixed margin, cutting a banner to an exact size, or removing an unwanted edge. The crop keeps the original file format, so a PNG stays a PNG and a JPG stays a JPG, and pixels are copied untouched so nothing is re-compressed. No watermark, no signup, processed in memory and discarded.
What people use it for
- Trim a fixed margin or border off a screenshot
- Cut an image to an exact banner or thumbnail size
- Remove an unwanted edge or object at the side
- Square-crop a photo to precise dimensions
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-crop/
| Parameter | Example | Required | Notes |
|---|---|---|---|
file (file) |
photo.jpg |
Yes | Any common image, ≤25 MB. |
x |
0 |
Yes | Left edge in px. |
y |
0 |
Yes | Top edge in px. |
width |
400 |
Yes | Crop width in px. |
height |
300 |
Yes | Crop height in px. |
curl -X POST https://best.free/api/tools/image-crop/ \
-F 'file=@photo.jpg' \
-F 'x=0' \
-F 'y=0' \
-F 'width=400' \
-F 'height=300' \
-o cropped.png
import requests
files = {"file": open("photo.jpg", "rb")}
data = {"x": 0, "y": 0, "width": 400, "height": 300}
r = requests.post("https://best.free/api/tools/image-crop/", files=files, data=data)
with open("cropped.png", "wb") as out:
out.write(r.content)
const fd = new FormData();
fd.append("file", fileInput.files[0]);
fd.append("x", 0);
fd.append("y", 0);
fd.append("width", 400);
fd.append("height", 300);
const r = await fetch("https://best.free/api/tools/image-crop/", { method: "POST", body: fd });
const blob = await r.blob(); // the cropped.png
Response: The cropped image (same format).