Image Compressor🔒 100% local
Compress PNG/JPEG/WebP images entirely in your browser with quality control, resize and format conversion. No uploads — privacy-first.
Compress an image
Runs 100% in your browser. Optional max-width resize, JPEG/WebP/PNG output.
Re-encodes the image you pick by drawing it onto a canvas at the size you ask for and reading the canvas back out in your chosen format, then reports the before and after byte counts. The file is read straight from disk into the page with URL.createObjectURL, so a photo carrying GPS in its EXIF data is not handed to anyone's server to have it stripped. JPEG output is painted onto a white background first, which is what removes transparency.
How to use it
- Choose a PNG, JPEG, WebP or GIF with the file input.
- Set the quality slider, type an optional maximum width (0 keeps the original size) and pick the output format.
- Press Compress, compare the reported sizes and dimensions, then use Download compressed image.
Worked example
A 3024 x 4032 photo, max width 1920, JPEG at 70%becomesCanvas resized to 1920 x 2560 px, encoded as image/jpeg at quality 0.7.The pixel geometry is deterministic: scale = 1920 / 3024 = 0.63492, so height = round(4032 x 0.63492) = 2560. The compressed byte count is not predicted anywhere in the page - it depends on the browser's encoder and the picture, and the tool prints the real numbers after the encode.
When to use it
- Shrinking phone photos to a size a form will accept without sending them to a site that keeps a copy.
- Re-encoding a photo to drop EXIF, including GPS coordinates, before posting it.
- Converting a PNG screenshot to WebP or JPEG when a tool refuses the original format.
What it does not do
- JPEG and WebP output is lossy at the quality you choose, so re-compressing an already-compressed photo a second time costs visible detail.
- The quality slider does nothing for PNG output - it is lossless, so size only drops when you use the maximum width to resize.
- Only the first frame of an animated GIF survives, and a transparent PNG saved as JPEG comes back on white.
- Resizing is width-only and keeps the aspect ratio: there is no crop, rotate or metadata edit here.
- Very large images are bounded by canvas memory in the browser, so a 40-megapixel file may fail on a phone.