September 17, 2026 · 9 min read
Compressing a photo means making the file smaller while keeping it looking the same. That sounds like one action, but it is really three decisions — the dimensions, the quality setting and the file format — and they are not equally important. Most people go straight to the quality slider, which is the one that matters least. Get the order right and a 4 MB phone photo becomes a 250 KB file that looks identical on screen.
Everything below works in any decent image tool, including ours, which runs entirely in your browser so your photos are never uploaded anywhere.
If you just want the file smaller and you do not want to think about it: resize the image so its longest side is about 1600 pixels, save it as JPEG at quality 80, and you are done. That single combination handles the overwhelming majority of cases — email attachments, website images, messaging apps, form uploads — and typically cuts a phone photo by 90 to 95%.
Drop your file into the compressor, set the max width to 1600, leave quality at 80, and download. If the result is still too heavy, drop the quality to 70 before you touch anything else. Read on for why this works and when to deviate from it.
This is the step almost every guide skips, and it is the one that does the heavy lifting. A modern phone takes photos at roughly 4000×3000 pixels. If that image is going to be viewed in an email, on a web page or in a chat, it will be displayed at maybe 800 to 1600 pixels wide. Every pixel beyond that is stored, transmitted and then thrown away by the screen.
The arithmetic is brutal. Going from 4000 pixels wide to 1600 pixels wide is not a 60% reduction — because area scales with the square, it removes about 84% of the pixels before you have touched quality at all. Going to 800 pixels removes 96%. No quality setting can compete with that, and unlike quality reduction, resizing costs you nothing visible as long as the image is never displayed larger than its new size.
So the question is not "how much quality can I sacrifice" but "how large will this actually be seen". Pick the dimension from the destination:
| Longest side | Good for | Typical result |
|---|---|---|
| 800 px | Email attachments, chat apps, forum posts | 80–150 KB |
| 1200 px | Blog images, product photos, documents | 150–300 KB |
| 1600 px | General purpose — the safe default | 200–400 KB |
| 2048 px | Full-width web banners, high-DPI displays | 400–800 KB |
| Original | Printing, archiving, further editing | Unchanged |
Once the dimensions are right, quality is the fine adjustment. JPEG and WebP quality runs from 0 to 100, and the relationship between that number and the file size is not linear at all — the first reductions are nearly free, and the last ones are ruinous.
Quality 100 is wasteful: it stores detail that no eye can resolve, and a file at 100 is often twice the size of the same image at 90 with no visible difference whatsoever. Between 90 and 80 the file keeps shrinking and the image still looks clean. Around 75 to 80 is where most people stop being able to tell the difference in a side-by-side comparison, which is why 80 is the near-universal default.
Below 70, artifacts start becoming visible — blocky patches in smooth gradients like skies and skin, and a faint halo around sharp edges and text. Below 50 the image looks obviously degraded. If you need a file smaller than quality 70 gives you, resize further instead of pushing the quality down; the result will look better at the same file size.
One caveat worth knowing: these numbers are not standardised across tools. Quality 80 in one application does not necessarily produce the same file as quality 80 in another, because they use different internal quantisation tables. Treat the number as a dial to turn, not an absolute value to match.
The format decides what kind of compression is even possible. Choosing wrongly here is the single most expensive mistake in image compression, and it is extremely common — usually a photograph saved as PNG, which can easily be ten times larger than it needs to be.
| Format | Use it for | Size vs JPEG |
|---|---|---|
| JPEG | Photographs, anything with smooth gradients | Baseline |
| PNG | Screenshots with text, logos, anything needing transparency | 3–10× larger on photos |
| WebP | Everything on the web — photos and graphics alike | 25–35% smaller |
| AVIF | Web photos where you control the audience's browser | 40–50% smaller |
| HEIC | iPhone storage — convert before sharing | About half |
This phrase comes up constantly, and it is worth being precise, because there are two different things people mean by it and only one of them is achievable.
Truly lossless compression — every pixel preserved exactly — does exist, but it barely helps with photographs. Running a lossless optimiser over an existing JPEG typically recovers 5 to 10% by tidying up how the data is stored. That is real, and it is free, but it will not turn a 4 MB file into something you can email.
What people almost always mean is "without visible loss", and that is entirely achievable. At quality 80, after a sensible resize, the difference is invisible in normal viewing — you would need to zoom in and compare against the original pixel by pixel to find it. The data is genuinely gone, but the information your eye uses is not.
The exception is images you plan to edit further. Every time you open a JPEG, change it and save it again, it is recompressed and loses a little more — generation loss, and it accumulates. If a file is still a work in progress, keep a full-quality original and compress only the copy you send out.
Compression algorithms exploit the kind of redundancy in an image, and different images have different kinds. Treating them all the same is why some files refuse to shrink.
Photographs have smooth, noisy, continuously varying colour. JPEG and lossy WebP were designed for exactly this and handle it beautifully. Use quality 80 and resize, as above.
Screenshots of text and interfaces are the opposite: large areas of flat colour with hard, high-contrast edges. Lossy compression is actively bad here — it smears the edges of letters and produces visible ringing around text. Use PNG, or lossless WebP for a further 25% saving. And resist resizing a text screenshot at all, because shrinking it makes the text unreadable, which defeats the purpose.
Logos, icons and flat illustrations behave like screenshots: few distinct colours, sharp edges, often transparency. PNG or lossless WebP, and if the image really has only a handful of colours, reducing it to an 8-bit palette can cut it by another 60 to 70% with no visible change.
Mixed content — a screenshot containing a photograph, a product shot on a white background with text — is a judgement call. Follow whichever element matters most, and if text legibility is the point, treat it as a screenshot.
The general method covers most situations, but several destinations have their own constraints — a hard attachment limit, a platform that re-compresses whatever you upload, or a specific pixel size that avoids cropping. These guides go into each one:
If you have resized and compressed and the file is still stubborn, it is almost always one of four things.
It is a PNG photograph. This is the most common cause by a wide margin, and no amount of optimisation will fix it — PNG stores photographic data catastrophically inefficiently. Convert to JPEG or WebP and the file will drop by 80 to 90% in one step.
It was already compressed. Re-compressing a file that has been through the process before gains very little, because the redundancy the algorithm looks for has already been removed. Worse, it degrades the image further. If you have the original, go back to it rather than compressing the compressed copy again.
You resized the canvas but not the pixels. Some tools distinguish between the display size and the actual pixel dimensions. Check that the output really is 1600 pixels wide and not a 4000-pixel image being shown smaller.
It is carrying metadata. Camera EXIF data, colour profiles and editing history can add tens of kilobytes. On a 3 MB photo that is noise, but on a 40 KB icon it can be a third of the file. Stripping metadata is lossless as far as the visible image goes — though keep the colour profile if exact colour reproduction matters, as with brand colours.
Most online compressors upload your photos to a server, process them there and send them back. That is a genuine privacy question for anything personal — family photos, documents, screenshots containing private information — and an unnecessary one, because modern browsers can do the whole job locally.
Our compressor runs entirely on your own device. Nothing is uploaded, there is no account, no queue and no file size ceiling beyond what your computer's memory allows. Drop in a batch of photos, set the width and quality once, and download them together as a ZIP.