Compress image

Makes JPEG, PNG and WebP files smaller without sending them anywhere.

Drop a photo and get a lighter copy in seconds, with the exact saving shown in kilobytes. Everything happens on your own device — the image is never uploaded, which matters when it is a photo of your ID, your child or your home.

Drop images here, or click to chooseJPEG, PNG, WebP, GIF or BMP. Several at once is fine. Up to 50 MB each. Files are processed on your device and never uploaded.

Runs entirely in your browser. Your images are never uploaded — open DevTools, Network tab, and you will see the page fetch nothing while it compresses.

How to use it

  1. Drop one or more images onto the box above, or click it to choose files.
  2. Set quality, maximum size and output format — the defaults are right for most photos.
  3. Each image shows its size before and after. Press Download on a row, or Download all.

What this tool does

Two things make an image file heavy: how many pixels it has, and how loosely those pixels are encoded. This tool works on both. The size slider scales the image down so its longer side fits the limit you set — a 4000×3000 photo becomes 2000×1500 at the default setting, and an image that is already small is left alone, never stretched up. The quality slider then controls how aggressively the pixels are re-encoded into JPEG or WebP.

You can add several images at once, or keep dropping more — they line up in a queue and are processed one after another. Every finished row shows the original size, the new size, and the percentage saved, so you can judge the trade-off before downloading anything. If a particular image comes out larger than the original — it happens with files that were already compressed hard — the row says so plainly and recommends keeping the original.

One side effect is worth knowing about, because it is useful: the output is a brand new file drawn from pixels alone. Camera model, capture date, editing software and GPS coordinates are not copied into it. If you are about to post a photo publicly, that metadata is exactly what you want gone.

There is no server resizing farm behind this page, so there is also no file counter, no daily quota and no premium tier. The work is done by the same machine the photo is already on.

Picking quality and size

Quality 80% is the sweet spot for photographs — side by side with the original, most people cannot point to a difference, and the file is typically two to four times smaller. For images heading into email, chat or a ticket attachment, 60–70% is fine; artifacts only start showing in smooth gradients like skies. Below 50% the savings keep growing but the blockiness becomes visible, so go there only when the size limit is strict.

Screenshots with a lot of text are the exception. JPEG smears sharp edges, so letters get fuzzy halos at lower settings. Either keep quality at 90% or switch the output to WebP, which handles hard edges much better at the same size.

The size slider usually saves more than the quality slider does. Halving both dimensions removes three quarters of the pixels before encoding even starts. As a rule of thumb: 2000 px is plenty for full-screen viewing on almost any display, 1200 px is enough for a blog or listing photo, and 4000 px only makes sense if the image is headed for print. Tick “Keep original dimensions” when you need every pixel and want to squeeze the encoding only.

Examples

InputSettingsTypical result
12 MP phone photo, 4.8 MB JPEGDefaults: 80%, 2000 pxAround 600–900 KB, looks identical on screen
Scanned document, 8 MB PNGJPEG, 85%, 2000 pxAround 500 KB, text still crisp
Screenshot with text, 1.2 MB PNGWebP, 90%, keep dimensionsAround 150–300 KB, edges stay sharp
Logo on transparent backgroundWebP, 90%Smaller file, transparency preserved
Already-compressed web image, 90 KBAnyLittle or no saving — the tool tells you to keep the original

What usually goes wrong

Doing it without this tool

Windows. Right-click a photo and choose “Resize pictures” if you have PowerToys installed, or open it in Photos and use Resize image. Both change dimensions well, but give you little control over JPEG quality.

macOS. Preview does both jobs: Tools → Adjust Size for the pixels, then File → Export with the Quality slider for the encoding. It is the closest offline equivalent of this page, one image at a time.

Command line. ImageMagick does everything in one pass: magick photo.jpg -resize 2000x2000 -quality 80 out.jpg. The -resize 2000x2000 part is a bounding box, so proportions are kept — the same behaviour as the slider above. For a folder of files, wrap it in a loop.

Online compressors. Most of them upload every photo to their servers, hold it there for some retention period, and cap the free tier at a handful of images or a few megabytes. If the photos are of documents or family, that upload is the part worth avoiding — and it is the one thing this page never does.

Privacy: your files never leave your browser

The whole pipeline — decoding, scaling, re-encoding — runs inside your browser on your own machine. There is no upload step. Open the network panel in DevTools before you drop a file and watch it while the tool works: you will see no requests at all, because there is nothing to send and nowhere to send it.

That is the practical difference between this page and a compression service. A service processes your photo on its servers and asks you to trust a retention policy; here there is no copy to retain and nothing to delete. It also means the tool keeps working with the connection switched off once the page is loaded.

Related tools

Merge PDFCombines several PDF files into one, in the order you choose, right in your browser.Split PDFExtracts page ranges like 1-3,7 from a PDF, or saves every page as its own file.PDF to textPulls the text out of a PDF without uploading the file anywhere.Word counterCounts words, characters, sentences and reading time as you type.Character counterLive character count with social network limits and an optional custom limit.Base64 encode / decodeConverts text to Base64 and back, UTF-8 safe, right in your browser.

See all text tools →

Frequently asked questions

Does it support HEIC photos from an iPhone?

No. Browsers cannot decode HEIC, so this tool cannot read those files. On the phone, share or export the photo as JPEG first — iOS does this automatically when you send a photo by mail or messenger — then compress the JPEG here.

Are my photos uploaded anywhere?

No. Every image is decoded, resized and re-encoded by your own browser. Nothing is sent to a server, which is also why there is no file count limit and no waiting queue.

Does compression remove EXIF and location data?

Yes. Re-encoding through a canvas writes a brand new file that carries only pixels — camera model, capture date and GPS coordinates are all gone. If you are posting a photo publicly, that is a feature.

Why is there no PNG output?

Because it would usually make files bigger, not smaller. PNG is lossless, and a browser re-encode of a photo into PNG typically produces a larger file than the JPEG you started with. To actually shrink an image, JPEG or WebP is the way.

What happens to transparent backgrounds?

JPEG has no transparency, so transparent areas become white in JPEG output. Choose WebP to keep transparency — it compresses well and preserves the alpha channel.

Can I compress an animated GIF?

Only its first frame. A canvas sees one frame of a GIF, so the output is a still image. For animations, use a dedicated video or GIF tool instead.

How many images can I add, and how large?

Add as many as you like — they are processed one after another in a queue. Files over 50 MB trigger a warning because decoding them takes a lot of memory, but the tool still tries.