Free · no sign-upNo 5 MB capNothing uploaded

Image compressor

Make a photo smaller without guessing what it cost. The original and the real compressed file share one frame at the same zoom, and the weight updates while you move the control, before you save anything.

Nothing is uploaded, so there is no 5 MB ceiling and no file countDrag a divider across the picture at 100%, or see the damage amplifiedName a size in KB and it finds the quality that fitsIt will never hand you back a file bigger than the one you gave it
  1. Drop the files inOne, or a folder's worth. Nothing is uploaded, so nothing waits.
  2. Choose how hard to squeezeAuto, a quality of your own, or an exact size in KB.
  3. Check it, then saveCompare at 100%, then take one file or the batch as a ZIP.

Drop images here, or click to choose

JPG, PNG, WebP, AVIF, GIF and BMP. As many at once as you like. HEIC opens in Safari only.

Free · no sign-up · nothing uploaded. There is no 5 MB cap and no file count, because there is no server paying for either. Your photos are compressed on your own machine, and this tool will never hand you back a file bigger than the one you gave it.

How to compress an image

  1. Drop your images in

    One file or a folder's worth. There is no upload and no 5 MB ceiling, so a 40 MB camera JPEG opens as fast as a thumbnail.

  2. Pick how hard to squeeze

    Auto finds the smallest file that still looks the same, per picture. Or set the quality by hand, or name a target size in KB and let it find the quality that fits.

  3. Check it at 100%, then save

    Drag the divider across the picture, or switch to Difference to see the damage amplified. Save one file, or take the batch as a ZIP.

Three ways to say how hard to squeeze

Most compressors offer a quality slider, or nothing at all. A slider is a guess with a number attached, and nothing at all is somebody else's guess. Neither answers the question you actually arrived with.

ModeYou give itReach for it when
AutoHow much change you will acceptYou want it smaller and you do not want to think about numbers. It measures each picture and gives each one the quality it needs, which is not the same number twice.
QualityA number from 20 to 100You already know the setting your workflow uses, or you want to feel where a particular picture starts to break.
Target sizeA number of KB or MBSomething has told you a limit. An upload form, an email attachment, a page budget. This answers "must be under 2 MB" directly instead of leaving you to hunt for it.

Auto measures rather than guesses

"Visually lossless" is a claim, and most of the time nobody checks it. Here it is checked on every file. The tool encodes your picture at a candidate quality, decodes the file it just wrote, and scores the result against the original using SSIM at full resolution.

Which part of the picture it scores matters as much as the metric. Comparing whole frames is how a compressor ends up reporting 0.999 for a file that is visibly wrecked, because a photograph is mostly sky, skin and wall and none of that suffers. So it builds a coarse map of local detail, cuts six 192-pixel tiles from the busiest places, and takes the mean of the worst half. The number is pessimistic on purpose. A promise about how a picture looks has to be judged on the part that breaks first.

Then it bisects. Seven encodes narrow the quality range down to a single step, which is finer than the encoder's own behaviour is repeatable. That is why Auto takes a second or two per photograph where the quality slider is instant: it is doing seven times the work and then reading the answer.

The three settings are calibrated rather than chosen. Sweeping this metric across five kinds of picture from quality 100 down to 40 put Visually lossless at about quality 85 on a photograph, Balanced at about 70, and Smallest sensible at about 55. The full sweep, the method and the one picture where none of it works are on the quality settings guide.

It will not hand you back a bigger file

This sounds like it should not need saying. It does. Of the five tools ranking for "image compressor" that we ran on the same 1.87 MB phone photo in August 2026, one returned a file 1% larger than the one it was given, on its default settings, and told the user nothing except that it had finished.

So the rule here is absolute. If the best encode weighs at least as much as the bytes that came in, and the format has not changed, you get your original bytes back untouched and the panel says why. Nothing is re-encoded, so nothing is lost. That is also the honest answer for most PNGs and for any JPEG that was already squeezed hard by whatever produced it.

Resizing and compressing are different jobs

Resizing changes how many pixels there are. Compressing changes how many bytes each pixel costs. Both make the file smaller and they are not substitutes for one another.

If a picture will be displayed 800 pixels wide, sending a 4000-pixel version is waste that no amount of compression fixes, because the browser downloads four million pixels it will never draw. Resize it. If the picture is already the right size on screen and the file is still too heavy, that is a compression problem and the controls here are the lever. The Also cap the width checkbox does both at once, which is why Target size needs it whenever the budget is tight. For anything more than a width cap, including cropping and exact dimensions, the image resizer is the tool that page exists for.

What it will not do

It will not beat a dedicated PNG optimiser. This uses the encoders built into your browser. Those are good at JPEG and they are not a tuned PNG or WebP pipeline, so on flat artwork and on PNGs a server-side tool will still beat it. On photographs the gap is small: on our 1.87 MB test photo TinyPNG returned 397 KB and Smallest sensible here returned 368 KB.

It will not keep your metadata. Compressing means decoding to pixels and encoding again, and EXIF, GPS coordinates and camera settings do not survive that. For a photo going on the public web that is usually what you wanted, but it is a consequence rather than a setting and it cannot be turned off. The rotation is the exception: a sideways phone photo has its orientation baked into the pixels on the way through, so the file you save is upright on its own.

It will not shrink a PNG as a PNG. A browser canvas cannot beat a dedicated PNG optimiser, and asking it to usually produces a bigger file. Saving as WebP instead keeps the transparency, throws nothing away and is reliably smaller.

It will not open a HEIC outside Safari. No browser except Safari can decode the format, and there is no server here to hand the file to instead. On Chrome or Firefox it says so rather than failing quietly, and the HEIC guide has the fix.

Frequently asked questions

How much smaller can it actually make a photo?

It depends far more on the picture than on the tool, which is why the panel shows you the real answer for your own file before you save it. On a 4032×3024 JPEG straight off a phone, measured on 23 August 2026: Balanced took 1.87 MB down to 789 KB, which is 60% off at quality 77. Smallest sensible took it to 368 KB, 81% off. Visually lossless only managed 20%, because that phone had already saved the file at about quality 92 and there was little left to take. A stock photograph at 5926×3951 behaved the same way and gave up just 2% at the lossless setting. A picture that has already been squeezed cannot be squeezed twice for free, and a tool that claims otherwise is measuring something else.

What does "visually lossless" mean here, and how would it know?

It measures. The tool encodes your picture at a candidate quality, decodes what it just wrote, and compares the two at full resolution using SSIM, a standard structural similarity score. It does not compare the whole frame, because a photograph is mostly sky and skin and those survive anything. It cuts six 192-pixel tiles from the busiest parts of the picture, scores each one, and takes the mean of the worst half. That makes the number deliberately pessimistic: the promise is about the part of the picture that breaks first, not about an average that a lot of blank wall has flattered. Then it bisects the quality range seven times to find the lowest setting that still clears the bar. Every rival we tested either gives you no control at all or leaves you dragging a slider and guessing.

Why does compressing a PNG barely do anything?

Because your PNG is already compressed, losslessly, and a browser cannot beat a dedicated PNG optimiser at its own format. Re-encoding one through a canvas usually produces a larger file, not a smaller one. So when that happens this tool hands you back your original bytes untouched and says so, rather than quietly giving you the bigger file. If you genuinely need a smaller PNG, the answer is to change format: Save as WebP keeps the transparency and throws nothing away, and it is typically 20% to 30% smaller than the PNG it came from. For a photograph that was saved as a PNG by mistake, JPG will be smaller again by a wide margin.

Can it hit an exact file size, like under 2 MB for an upload form?

Yes. Choose Target size, type the number, pick KB or MB. The tool encodes the picture several times at different qualities, narrowing in on the highest quality that still fits inside your budget, and tells you which one it landed on. If the budget cannot be met it says so plainly instead of handing back an oversized file and calling it done. That happens when the target is very small and the picture is very wide, because there is a floor below which a 4000-pixel image cannot go at any quality. Ticking Also cap the width is the fix, and it is the single biggest lever there is: halving the width quarters the pixel count before compression even starts.

If I move the slider ten times, does the damage add up?

No. Every result is encoded from the decoded original, never from the previous result, so moving the slider from 90 to 60 and back to 85 gives you exactly the file you would have got by typing 85 first. This matters more than it sounds. Generation loss is real, and a tool that compressed its own output would leave you a visibly softer picture than the number on screen claimed after three or four adjustments. The one place damage genuinely stacks is across separate sessions: compress a file here, save it, and compress that saved file again tomorrow, and you have run two generations. Keep the original.

Is this as good as TinyPNG?

Closer than expected, and the honest answer needs three numbers rather than one. Run on the same 1.87 MB phone photo on 23 August 2026, TinyPNG returned 397 KB. This tool returned 789 KB on Balanced and 368 KB on Smallest sensible, so TinyPNG's single setting sits between the two and is nearer the aggressive end than most people assume. It is worth knowing that, because TinyPNG offers no control at all, so you cannot move off the setting it picked for you. What you get here that you cannot get there: no 5 MB ceiling, no twenty-file limit, no account, no queue, a photograph that never leaves your machine, and the result on screen before you commit to it. What TinyPNG has that a browser cannot is a tuned encoder running on its own hardware, and on flat artwork and PNGs that difference is real.

move openesc close