Drag a box over the part you want to keep — cut on your device, never uploaded.
Drag a box over the part you want to keep — cut on your device, never uploaded.
Crop an image in your browser by dragging a box over exactly the part you want to keep. GhostImage shows a live preview, lets you fine-tune the rectangle, and cuts the image on your device in a Web Worker — nothing is uploaded. JPG, PNG, WebP, AVIF, and iPhone HEIC photos all work (HEIC is decoded locally with WebAssembly). The cropped result stays in the studio, so you can resize, compress, or convert it in the same pass.
Drop your image
Drag a photo onto the page or click to browse. It opens in the GhostImage studio with Crop pre-selected.
Draw the crop box
Click "Crop image" to open the crop surface, then drag the box over the area to keep and adjust its edges until it's right.
Apply and download
Apply the crop and the studio shows the new dimensions. Download, or keep editing — the crop is just another step in the chain you can remove or redo.
How do I crop a photo without installing anything?
Drop it on this page — the crop tool runs entirely in your browser. No app, no account, and the photo never leaves your device.
Can I undo a crop?
Yes. Every studio edit is a step in a visible chain — click the × on the crop step and the image rebuilds without it. The original is never overwritten.
Does cropping reduce image quality?
The kept pixels are preserved at their original resolution; the image is re-encoded once in its own format (JPG stays JPG, PNG stays PNG), which is visually lossless at the quality used.
Can I crop an iPhone HEIC photo?
Yes. HEIC is decoded on your device with a WebAssembly build of libheif, so iPhone photos crop like any other image — still with no upload.
Is there a fixed aspect ratio option?
The crop box is freeform — drag it to any shape. If you need an exact final size, crop first and then use Resize to hit the target dimensions.
Every GhostImage tool runs entirely in your browser. Your file is never uploaded — there's no upload endpoint to send it to.