
Crop image copies out the rectangle you name, in pixels or as a percentage. The page lets you drag that rectangle; the CLI and MCP still take four plain numbers. The piece comes back in the input format with a -crop suffix, at quality 80. A rectangle running past an edge is refused outright, quoting your numbers and the real size.
Questions
Does cropping happen on my device?
Yes, entirely. The image is decoded with the jSquash codecs in a Web Worker, the rectangle you asked for is copied out row by row, and the result is encoded again locally. No upload, no account, and the tool keeps working offline after the site has loaded once.
How do I say which rectangle to keep?
On the page, by dragging a rectangle over the picture. The CLI and MCP still take it as four numbers: Left edge and Top edge, measured from the top left corner and defaulting to 0, plus Crop width and Crop height, both blank by default, so leaving them empty stops with "give both a width and a height to crop to". Set Unit to percent and all four read as a percentage of the image instead of pixels.
Why did I get "crop 400x400 at 0,0 falls outside the 300x200 image"?
Because the rectangle runs past the edge. The tool checks that the left edge plus the width fits the image width, and the top edge plus the height fits the image height, and it names your actual numbers and the actual image size in the message. Reduce the size or move the origin so the whole rectangle lands inside the picture.
Is the cropped-away part still hidden in the file?
No. The output is built from a fresh pixel buffer containing only the rows and columns you kept, then encoded from scratch, so the discarded area is not in the file in any form. This is unlike cropping a PDF page, where the content outside the crop box is still present and can be restored.
What do I get back, and can I crop a batch?
One file per input, named with a -crop suffix in the original format, such as receipt-crop.jpg. The Quality option, default 80, is read only where the output format is lossy, so a PNG ignores it. You can drop many files, but they all receive the same rectangle, which only makes sense if they share dimensions. Metadata such as EXIF does not survive the re-encode.
Compare
| Tool | Runs on the CLI | Live as you type |
|---|---|---|
| Crop image | Yes | No |
| Convert image | Yes | No |
| Compress image | Yes | No |
| Resize image | Yes | No |
| Rotate image | Yes | No |
| Social preset resizer | Yes | No |
| ID / passport crop presets | Yes | No |