Image Compressor

Media Client-side image compress compression jpeg png webp resize optimize

This tool runs entirely client-side, in your browser: your data is never sent anywhere.

What it does

This tool shrinks the file size of your images by re-encoding them with a chosen quality level and, optionally, resizing them down to a maximum width. It works entirely client-side using the HTML5 Canvas API — nothing is uploaded to a server, your images never leave your device.

Try it

Original
Compressed

How it works

  1. Your image is loaded into an <img> element and drawn onto a hidden <canvas>, optionally scaled down so its width never exceeds the max width you set (height is scaled proportionally to keep the aspect ratio).
  2. The canvas is then re-encoded using canvas.toBlob() with the format and quality you chose:
FormatNotes
JPEGBest for photos; lossy, quality slider has a strong effect
WebPUsually smaller than JPEG at the same quality, if supported by your browser
PNGLossless; the quality slider has no effect, size mainly drops if you also reduce the width
  1. The resulting blob's size is compared against the original file size, and a download link is generated for the compressed image.

Notes