Tools

Image Compressor: reduce JPG, PNG and WebP file size

Drag in one or more images, choose how aggressive the compression should be, and download the smaller versions. Files are processed locally — nothing is uploaded to a server.

Drop images here or tap to choose JPG, PNG, WebP · multiple files allowed · up to ~30 MB each
Lower = smaller file, more visible artefacts. 70–80% is the sweet spot for photos.
WebP is typically 25–35% smaller than JPEG at the same visual quality.
Resizing is usually where the real savings are. A 4000px photo on a web page is wasted bytes.

    Everything on this page runs inside your browser using the Canvas and File APIs. Your files are never uploaded, never stored on a server, and never seen by us.

    How to use this image compressor

    Most images published on the web are two to five times larger than they need to be. A phone camera writes a JPEG at maximum quality with full EXIF metadata attached, and that file goes straight into a blog post, a product listing or an email attachment without anyone re-encoding it. This page re-encodes it for you, and it does so entirely inside the browser tab you already have open.

    Start by dropping your images onto the box above, or tapping it to open the file picker. You can add as many images as you like; they are queued and processed one after another so a batch of twenty photos does not lock up your phone. Each file stays in memory as a File object — the browser never sends it anywhere.

    Choosing a quality level

    The quality slider maps directly to the encoder quality parameter passed to canvas.toBlob(). It is not a linear scale and it does not mean "75% of the original detail". In practice, photographs with a lot of texture — foliage, fabric, crowds — hold up well down to about 65. Images with large flat areas and hard edges — screenshots, logos, diagrams, charts — start showing ringing artefacts around the edges much earlier, so keep those above 85 or use PNG instead.

    A good working method is to compress once at 75, download the result, and compare it side by side with the original at 100% zoom. If you cannot see a difference, drop to 65 and check again. Stop at the first setting where you can see the difference and go one step back up.

    Which output format to pick

    WebP is the default here because it is now supported by every current browser and typically produces files 25–35% smaller than JPEG at matching visual quality. It also supports transparency, so it can replace both JPEG and PNG in most web contexts. Pick it unless you are handing the file to a system that specifically demands JPEG.

    JPEG remains the safest choice for anything that will be opened by older software, printed, or uploaded to a platform with strict format rules. Note that JPEG has no transparency: if your source image has a transparent background, this tool fills it with white rather than producing a black rectangle, which is what a naive canvas export would give you.

    PNG is lossless, so the quality slider is disabled when you select it. PNG will rarely make a photograph smaller — it may well make it larger. It is the right choice for screenshots, line art, icons and anything with sharp text, where JPEG-style artefacts are unacceptable.

    The setting that actually matters: dimensions

    Compression quality gets all the attention, but resizing usually saves far more. A 4032 × 3024 photo from a phone contains roughly 12 million pixels. Displayed in a blog post at 800 pixels wide, 95% of those pixels are thrown away by the browser after they have already been downloaded. Setting the "cap the longest side" field to 1600 or 1920 before compressing routinely turns a 4 MB photo into a 180 KB one — a result no quality slider alone will reach.

    Use 1920 for full-width hero images, 1200 for in-article images, and 600 for thumbnails and avatars. If you are preparing images for a retina display, double those numbers and let the browser scale them down.

    What happens to metadata

    Because the image is redrawn onto a canvas and re-encoded from raw pixels, all EXIF data is discarded: camera model, lens, timestamp, and — importantly — GPS coordinates. That is a privacy win if you are publishing photos taken at home, and something to be aware of if you rely on EXIF for cataloguing. Keep your originals; treat the compressed copies as publishing artefacts.

    One consequence worth knowing: some images rely on the EXIF orientation flag to display the right way up. Modern browsers apply that flag when decoding, so the compressed output will be correctly oriented in almost every case. If you hit an old file that comes out rotated, open it once in any image viewer, re-save it, and run it through again.

    Working with large batches

    The "Download all" button triggers the downloads in sequence with a short delay between each one, because browsers block rapid-fire download calls as a popup-protection measure. If your browser still asks permission to download multiple files, allow it once and the rest will follow. For very large batches — more than about fifty files — process them in groups so you can keep track of which ones succeeded.

    Frequently asked questions

    Does this tool upload my images anywhere?

    No. The compression happens with the browser's own Canvas API inside your tab. If you open your browser's network inspector while compressing, you will see no requests at all. This also means the tool keeps working if your connection drops mid-session.

    Why did my PNG get bigger after compression?

    PNG uses lossless compression, which works by finding repeated patterns. Photographs have almost no exact repetition, so PNG has nothing to exploit and stores something close to the raw pixel data. If your source was already a well-optimised JPEG, converting it to PNG will always inflate it. For photos, choose WebP or JPEG.

    What is the maximum file size I can compress?

    There is no fixed limit in the tool, but the practical ceiling is your device's available memory. A decoded image occupies roughly width × height × 4 bytes in RAM, so a 50-megapixel photo needs about 200 MB before compression even starts. On a phone, files above roughly 30 MB may fail. If a file does not process, compress it alone rather than in a batch.

    Will compressing an image twice make it smaller again?

    Slightly, but you pay for it. Every lossy re-encode discards more information and compounds the artefacts from the previous pass — a process usually called generation loss. Always compress from the original file rather than from a file this tool already produced.

    Does it keep image transparency?

    WebP and PNG output preserve the alpha channel. JPEG cannot store transparency at all, so transparent areas are filled with white before encoding. If your logo needs a transparent background, export it as WebP or PNG.