Image Compressor
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Drag a box over the part of the picture you want to keep and download just that region as a lossless PNG.
Updated
Your browser is preparing the tool. It runs 100% locally.
Upload an image, then drag and resize a selection box over the part you want to keep. The tool uses the Cropper.js library and exports only that region as a lossless PNG named cropped.png. The selection starts at 80% of the image and cannot extend past its edges. The crop happens in your browser, and the image is never uploaded.
You see your image, drag a box to frame the part you want, and download exactly that region. The draggable, resizable selection comes from Cropper.js, a widely used open-source cropping library.
The region is saved as a PNG, a lossless format, so the pixels you selected come out exactly as they were and the crop adds no compression artefacts.
Drop or pick an image. After a moment the cropping overlay appears, with a selection box covering 80% of the picture.
Drag the box to move it and pull its handles to resize it. Cropper.js viewMode 1 keeps the box inside the image.
Click download and the tool draws the selected region onto a fresh canvas and saves it as cropped.png.
The starting box
Cropper.js runs in your browser and your device builds the cropped PNG, so the image is never uploaded.
There is no server step and no account. The photo and the crop stay on your device.
Because the output is drawn from a canvas, the cropped PNG carries no EXIF or GPS metadata from the original.
| Library | Cropper.js (open source) |
|---|---|
| Output format | PNG (lossless) |
| Output name | cropped.png |
| Initial selection | 80% of the image |
| Constraint | Box stays within the image |
| Aspect ratio | Free-form (drag any rectangle) |
| Processing | In your browser |
The crop itself is lossless: the selected pixels go into a PNG with no quality loss. A PNG of a photo is larger than the same picture as JPEG, though, so if file size matters, run the result through a converter or compressor.
The output is always a PNG named cropped.png, whatever you upload, so a cropped JPEG comes out as a larger PNG.
The crop is free-form. There are no fixed aspect-ratio presets; you set the shape by dragging the box to the proportions you want.
The overlay waits for the Cropper.js library to load, so there is a short pause before you can crop. It crops at the source resolution and does not upscale.
Crop, then shrink if you need to
Cut away background or empty edges so the image shows just the part that matters.
Drag the box to the proportions you need for an avatar, thumbnail or header.
Crop off a watermark band, letterboxing or a scanner margin along one side.
Pull one panel or detail out of a larger capture.
To change the pixel dimensions, use the image resizer. To rotate, use the image rotator. To shrink the cropped PNG, run it through the image compressor or a converter.
The selection box comes from Cropper.js, an open-source cropping library. It starts at 80% of the picture and cannot leave its edges, and your browser saves the region as cropped.png without recompressing it.
Compress an image to JPEG with a quality slider and watch the file size drop as you drag, in your browser.
Resize an image to exact pixel dimensions in your browser, with the aspect ratio locked and a lossless PNG out.
Upload an image and click any pixel to read its exact colour as HEX, RGB, HSL and CMYK. Click a value to copy it. The picture stays in your browser.
Convert a PNG to a much smaller WebP in your browser, keeping transparency, at 92% quality.
Convert a JPG to a lossless PNG in your browser. Nothing more is lost from here on, though the JPEG's existing compression stays.
Turn a PNG into a smaller JPG in your browser. Transparent areas become white and the JPEG is saved at 92% quality.
Your file is processed on this device and never uploaded, and there's no account to create.