Image Compressor - Reduce JPG, PNG & WebP File Size

Shrink JPG, PNG, and WebP images to a target file size or quality level — compression runs entirely in your browser, so photos are never uploaded.

Pick one or more images, choose a target size in megabytes or a quality level, optionally cap the dimensions, and download the smaller files. Everything is processed locally on your device using the canvas and the browser-image-compression library.

Image Compressor - Reduce JPG, PNG & WebP File Size
Shrink JPG, PNG, and WebP images to a target file size or quality level — compression runs entirely in your browser, so photos are never uploaded.

Images are compressed locally in your browser and never leave your device.

Savings estimator
Not sure what settings to pick? Enter a file size and an expected compression ratio to see roughly how small the output will be before you compress anything.

About the image compressor

Large images are the single biggest reason web pages load slowly, email attachments bounce, and upload forms reject your files. This image compressor reduces the file size of JPG, PNG, and WebP images directly in your browser, so you can hit a size limit or lighten a photo gallery in seconds without installing anything. Compression works in one of two modes. In target-file-size mode you tell the tool the maximum size you want in megabytes — for example 1 MB for a forum avatar or 0.5 MB for an email-friendly photo — and the compressor iteratively lowers the encoding quality and, if necessary, the resolution until the output fits under that ceiling. In quality mode you pick a quality level between 10 and 100 and the tool re-encodes each image at that setting; values between 70 and 85 usually look visually identical to the original while cutting the size dramatically. You can also cap the maximum width or height in pixels, which is often the most effective lever of all: a 6000-pixel-wide photo from a modern phone camera rarely needs more than 1920 pixels for screen use, and downscaling alone can remove most of the weight before any quality reduction is applied. Every step happens locally. The files you select are read with the browser's own File API, decoded onto an in-memory canvas, and re-encoded by the browser-image-compression library running as JavaScript on your machine. Nothing is uploaded to a server, no account is required, and closing the tab removes every trace of your photos. That makes the tool safe for private pictures, client work, identity documents, and anything else you would not want passing through a third-party server. A few practical notes. JPG is lossy and compresses photographs extremely well; PNG is lossless, so large photographic PNGs shrink most when you convert them to JPG or WebP using the output-format option. WebP typically produces the smallest files of the three at comparable visual quality, but very old software may not open it. Compression cannot add detail back — keep an original copy if you might need full resolution later — and extremely small size targets on detailed photos will show visible artifacts. If you just want a quick sanity check before processing a big batch, the savings estimator below the main tool projects the output size from your current file size and an expected compression ratio, entirely with simple arithmetic.

Image compression examples

Typical results you can expect from common inputs. Actual numbers vary with image content.

InputTypical outputWhy
5.8 MB phone photo (JPG, 4032×3024), target size 1 MB≈ 0.9 MB JPGThe compressor lowers encoding quality step by step until the file fits under the 1 MB ceiling.
3.2 MB PNG screenshot, output format WebP, quality 80≈ 0.4 MB WebPConverting a photographic PNG to a lossy format removes most of the weight at nearly identical visual quality.
12 MB JPG, max width 1920 px, quality 80≈ 0.8 MB JPGDownscaling from camera resolution to screen resolution removes far more data than quality reduction alone.
Savings estimator: 8 MB file at a 75% compression ratio≈ 2 MB projected8 × (1 − 0.75) = 2. The estimator is simple arithmetic — a planning aid, not a measurement.

How to compress an image

  1. Click the file picker and select one or more JPG, PNG, or WebP images — they are processed locally and never uploaded.
  2. Choose a compression mode: set a target size in MB, or pick a quality level with the slider.
  3. Optionally set a max width or height in pixels and choose an output format (keeping the original format is the default).
  4. Click Compress images and watch the before/after size and percentage saved appear for each file.
  5. Download each compressed file with its download button.

Image compressor FAQ

Are my images uploaded to a server?
No. Selection, decoding, compression, and download all happen inside your browser using the File API, canvas, and a JavaScript compression library. Your images never leave your device, which makes the tool suitable for private or sensitive photos.
How do I compress an image to a specific size like 1 MB?
Switch to target-file-size mode, enter the size in megabytes, select your images, and compress. The tool repeatedly lowers quality (and resolution if needed) until each output fits under the target. Very small targets on detailed photos may show visible artifacts.
Does compressing reduce image quality?
Lossy compression discards some detail, but at quality levels around 70–85 the difference is usually invisible at normal viewing sizes. Keep your originals if you may need full fidelity later, because compression cannot be undone.
Which output format gives the smallest file?
WebP is usually smallest at comparable visual quality, followed by JPG. PNG is lossless and stays large for photos, but is the right choice for graphics that need perfect edges or transparency.
Why did my PNG barely shrink?
PNG is a lossless format, so quality settings have little effect on it. To shrink a photographic PNG dramatically, choose JPG or WebP as the output format, or reduce its pixel dimensions with the max width/height option.
Is there a limit on file size or number of images?
There is no hard limit, but everything runs in your browser's memory, so very large batches or single files over a few hundred megabytes can be slow or fail on low-memory devices. Compressing a handful of files at a time is the most reliable approach.