DESIGN & WEB

Image Compressor

Shrink a photo in your browser — no upload — by downscaling to a maximum edge and re-encoding as WebP or JPEG at a quality you choose or to a target file size.

A smaller file with its new size, pixel count and quality stated, a side-by-side preview, and an honest note that PNG only shrinks by downscaling.

Example: A 4,000 × 3,000 JPEG limited to a 1,600 px edge becomes 1,600 × 1,200 (16 % of the pixels); with a 200 KB target the browser tries quality 80, 70, 60… and keeps the first under 200 KB.

v0.1.0 · last reviewed 20 September 2026
Loading the workspace…
BUILT TO BE UNDERSTOOD

Fewer pixels,
looser encoding.

The only two ways a bitmap gets smaller, how the target-size search works, and what the page will not pretend.

Two levers

File size is roughly pixels × bits per pixel. Downscaling to a maximum edge cuts the pixel count by the square of the scale — halving the edge quarters the pixels — and is the lever that matters for photos far larger than they will be shown. Lossy re-encoding (JPEG or WebP at a quality number) cuts the bits per pixel by discarding detail the eye is least likely to miss. Both run on a canvas in your browser; nothing is uploaded. “Auto” picks JPEG for an opaque JPEG source and WebP for everything else, since WebP keeps transparency and is usually smaller at the same quality.

Target size

Encoders cannot be told a byte count, so the page encodes at your quality, then at 70, 60, 50 … down to 10, and keeps the first result under the target. It says which quality won. If quality 10 is still too large, the pixels have to go: lower the maximum edge. PNG is lossless and has no quality knob — a PNG only shrinks here by downscaling, and the page says so rather than offering a slider that does nothing.

What is not done

No metadata is copied (EXIF, colour profile, DPI), which itself saves bytes but also drops the orientation tag after the decoder applies it. The bytes you get depend on your browser's encoder; another browser at the same quality gives a different size. No chroma-subsampling, progressive or palette options are exposed because the canvas API does not offer them. Nothing leaves the browser; the same four anonymous usage counts as the rest of the site apply.

SOURCES

Last reviewed 20 September 2026. How results are checked: How we verify.