✂️ Image Cropper

Load an image, drag the green box to select the area you want, then crop. Everything runs locally in your browser.

Preview scale versus output scale

Your file is read on the device and drawn to a canvas here; nothing is uploaded. Images wider than 700 pixels are shown scaled down to fit, but the crop is taken from the full-resolution original - the box position is divided by the preview scale first:

source x = box x / scale        scale = 700 / image width
crop size = half the width by half the height

A 3000×2000 photo previews at 700×467 and crops to 1500×1003 real pixels, copied across with no resampling.

Working the green box

The download is a PNG whatever went in. The pixels are exact, but a cropped JPEG photo will be a much larger file, and the canvas drops EXIF - including the orientation flag, so a phone photo is saved the way it was displayed, not the way it was recorded.

Frequently asked questions

How do I crop a photo without losing quality?

This one reads the original image rather than the shrunken preview and writes PNG, so nothing is scaled or re-compressed.

Can I change the size of the crop box?

No. The box is fixed at half the width and half the height of the picture and only moves. Drag it over the part you want, crop, then crop the result again if you need a tighter frame.

Why did my JPEG come back as a PNG?

The canvas is exported as PNG so the cropped pixels stay exact. Expect a bigger file - run it through the Image Compressor afterwards to get back to a web-sized JPEG or WebP.