Skip to content
Compress Picture

About Compress Picture

Compress Picture is a free, browser-based tool for making JPG, PNG, and WebP pictures smaller — for email attachments, website assets, messaging apps, or any place that caps upload size. This page covers what it does, how the compression works technically, and exactly what happens (and does not happen) to your files.

What it does

Drop one picture or up to 30 at once, and the tool re-encodes each one at a smaller file size. On the main compressor, a quality slider (10–100, default 75) controls the trade-off between file size and visual fidelity, with an optional resize step that caps the longest edge. The output keeps the same format as the input — a JPG stays a JPG, a PNG stays a PNG, a WebP stays a WebP.

If instead of a quality level you need a picture under an exact size — a common requirement for exam registrations, visa applications, or job portals — the compress image to 100 KB variant flips the controls: you pick a target (20, 50, 100, 200, or 500 KB, or a custom limit) and the tool searches for the highest quality that still fits under it.

How it works technically

Everything runs on the HTML5 Canvas API, entirely inside your browser tab, in three steps:

  1. Decode. The browser decodes your picture into memory, using createImageBitmap where available and falling back to a standard image element otherwise.
  2. Draw. The decoded picture is drawn onto a canvas at either its original dimensions or a smaller size, if you turned on resizing.
  3. Encode. The canvas re-encodes the picture with the browser's built-in encoder. JPG and WebP accept a quality factor, so a lower setting trades visual fidelity for a smaller file. PNG re-encodes losslessly — the canvas ignores a quality setting for PNG, so resizing is the main lever for shrinking one.

The compress-image-to-100kb variant runs this same pipeline in a loop, encoding at several quality levels (and, if needed, slightly smaller dimensions) until the output lands at or under your chosen size. Because PNG cannot be tuned to a byte target directly, that variant converts PNG input to JPEG and flattens any transparency onto a white background — the main compressor does not do this, and always preserves the original format.

None of this involves a server. The whole decode-draw-encode pipeline uses standard browser APIs — Canvas, plus the File and Blob APIs for reading your picture and handing back a downloadable result.

Privacy: what happens to your files

Your pictures are never uploaded. The decode, draw, and encode steps described above all happen locally on your device — no picture, filename, or pixel data is sent to a server, logged, or stored by Compress Picture.

Because nothing is uploaded, the tool keeps working even if you disconnect from the internet after the page has finished loading — there is no server round-trip to wait on in the first place. When you close the tab, navigate away, or remove a picture from the list, the in-memory copies of your original and compressed files are released; the tool does not write your pictures to any storage on your device, so nothing about them persists between visits.

This privacy stance covers the pictures you process. It does not change what a browser extension, network proxy, or the device itself might otherwise see — only what Compress Picture itself does with your files, which is nothing beyond compressing them for you to download.

Ready to compress a picture?

Use the main compressor for a live quality slider, or compress image to 100 KB to hit an exact size limit.