Squishpic

Smaller images.
Same pixels.

Drop a file below and Squishpic re-encodes it locally using the canvas API. Nothing is uploaded, nothing is stored, nothing is logged.

Drag an image here

or — JPEG, PNG, WebP up to 20 MB

Everything runs on your machine. Your files never touch a server.

How it works

1. Decode

The image is decoded into an offscreen canvas. Large photos are downscaled to a sensible maximum edge first.

2. Re-encode

We re-encode at a quality level picked from a small perceptual search, stopping as soon as the difference stops being visible.

3. Compare

You get both files side by side with the byte counts. Keep the new one or throw it away — it is entirely your call.

Supported formats

InputOutputTypical saving
JPEGJPEG, WebP35–60%
PNGPNG, WebP10–70%
WebPWebP5–25%
HEICJPEGvaries

Savings depend heavily on the source. Screenshots and flat illustrations compress far better than film grain.

Questions people actually ask

Do you keep my images?

No. There is no upload endpoint at all — open your network tab and watch. The page is static and the work happens in a worker thread.

Why is the output sometimes bigger?

Already-optimised files can grow when re-encoded. When that happens we tell you and suggest keeping the original.

Is there an API?

Not today. The whole point is that there is no server to call.

Can I batch a folder?

Select multiple files at once and they queue up. Very large batches will make your fan spin.