How to Reduce Image File Size Without Losing Quality

Taken literally, reducing size without losing anything means lossless compression, which saves far less than most people expect. The useful version of the question is how much can go before anyone notices — and the answer is a lot.

By ZyffPublished 9 min read

The short version

  • Genuinely lossless re-encoding saves 5-25%. Visually lossless changes save 60-80%.
  • Excess pixels are the largest single waste. Match dimensions to how the image is actually displayed.
  • Quality 80 is the practical threshold for photographs; above it you are spending bytes on nothing.
  • Switching format is the closest thing to free — WebP at matching quality is much smaller than JPEG.
  • Never re-compress an already-compressed file repeatedly. Go back to the original each time.

There are two honest answers to this, and they are very different in scale. Truly lossless compression — every pixel identical afterwards — typically saves somewhere between 5 and 25% on an already-encoded file. Visually lossless compression, where detail is discarded but no viewer could tell, routinely saves 60 to 80%. Almost everyone asking the question wants the second, and the first is what the phrasing describes.

The distinction matters because the two use different techniques. Lossless work is stripping metadata, re-encoding with a better compressor, and removing redundancy the original encoder missed. Visually lossless work is choosing a modern format, matching dimensions to actual use, and setting quality at the threshold where artefacts stop being perceptible. The second set is where the bytes are.

The framing that makes this tractable is that most images carry data nothing is using. A 4000-pixel photograph displayed 800 pixels wide, saved at quality 95 as a JPEG, with a full embedded colour profile and camera metadata, is perhaps four times larger than the visually identical file. Nothing is lost by fixing that, in any sense a viewer would recognise.

What lossless actually means, and what it saves

Lossless compression stores the same pixels in fewer bytes by finding redundancy — repeated patterns, predictable gradients, runs of identical colour. Decompress it and you get the original back exactly. PNG works this way, as do the optional lossless modes of WebP and AVIF.

Its limitation is that photographic content has very little exploitable redundancy. Real-world detail is noisy, and noise is incompressible almost by definition. That is why a photograph saved as PNG is often several times larger than the same photograph as a good JPEG, and why lossless re-encoding of an existing JPEG saves a modest amount rather than a transformative one.

Where lossless genuinely shines is flat colour and hard edges — screenshots, logos, diagrams, line art. For those, lossless is both smaller and better, because lossy compression produces visible haloes around exactly the sharp transitions those images are made of.

The free wins: metadata and encoder choice

Before touching pixels, there are bytes to remove that carry no image information at all. A photograph off a phone or camera arrives with EXIF data, a colour profile, sometimes an embedded thumbnail, and occasionally editing history from whatever software touched it last. On a large file that is a small percentage; on a small one it can be a third of the total.

Keep the colour profile if colour accuracy matters — stripping it can shift colours visibly on wide-gamut images — and strip the rest. Location metadata in particular is worth removing before publishing anything, for reasons unrelated to file size.

The other free win is the encoder. Not all encoders for the same format are equally good, and a modern one produces a smaller file at identical quality than the one that originally wrote the image. This is why re-encoding a JPEG at high quality can produce a smaller file that looks the same — you are not removing more detail, you are storing it more efficiently. It is also the one place "compress without losing quality" is close to literally true for a lossy format.

The largest win: stop shipping pixels nothing displays

This is where most of the waste lives, and it is not a compression question at all. File size scales roughly with pixel count, so an image at twice the width and height it is displayed at carries about four times the necessary data. Phone cameras produce images 3000 to 4500 pixels wide; a typical web page displays them at 800 to 1200.

Reducing dimensions to match actual use is lossless in every sense a viewer experiences, because the discarded pixels were never being shown. The rule of thumb worth keeping is to size the source at about twice the largest displayed width, which covers high-density screens without paying for resolution beyond what they can resolve.

The exception is an image people will zoom into — a product detail, a map, artwork. There the extra pixels are being used, and the saving has to come from format and quality instead.

ChangeTypical savingVisible?
Strip metadata1-5%No
Re-encode with a better encoder5-20%No
Resize 4000px to 1600pxAbout 80%No, at normal display size
JPEG quality 95 to 8040-60%Very hard to see
JPEG to WebP at quality 80A further 25-35%No
JPEG quality 80 to 50About 40%Yes, on faces and gradients
Where the bytes go, for a typical 4000px phone photo

Where lossy compression becomes visible

Quality settings are not linear in perceptual cost, which is what makes a threshold approach work. Between 100 and about 85 you are removing detail almost nobody can see under any conditions. Between 85 and 75 the loss is visible only under close comparison of the two files side by side. Between 75 and 60 it becomes apparent on skin tones, smooth gradients and text. Below 60 it is obvious: blocking around hard edges, banding in skies, a general mushiness.

So 80 is the number worth remembering — comfortably inside the invisible range for photographs, and a very large saving over the 95 that most software defaults to.

Content shifts the threshold. Photographs with fine texture tolerate lower quality than smooth studio images, because texture masks artefacts while flat gradients expose them. Anything with text in it needs 90 or above, since lossy compression attacks sharp edges specifically. And an image that will be re-edited later should stay high or lossless, because each lossy save compounds the damage from the last.

Chroma subsampling: a saving with one narrow risk

JPEG and WebP normally store colour at half the resolution of brightness, on the sound basis that human vision resolves brightness detail far better than colour detail. That is chroma subsampling, usually written 4:2:0, and it saves a useful amount of data with no visible effect on photographs.

It has one specific failure mode: saturated, hard-edged colour boundaries. Red text on a white background, a thin coloured line, a sharp logo edge — these develop visible colour bleeding, because the colour information genuinely is being stored at half resolution and the edge falls between samples.

The fix is to switch to full colour resolution, 4:4:4, for those images. It costs perhaps 15 to 20% more bytes and removes the bleeding entirely. For photographs, leave subsampling on; for anything with coloured text or graphics in it, turn it off.

The mistake that undoes all of this

Lossy compression is not idempotent. Each save discards detail based on what is present, so compressing an already-compressed file removes a second layer of detail from an image that has already lost some — and the artefacts of the first pass become content the second pass tries to preserve. Do it a few times and the image visibly falls apart.

In practice this happens through workflow rather than intent. An image is exported from a design tool, run through a compressor, uploaded to a platform that re-encodes it, then downloaded and re-used somewhere else. Nobody chose to compress it four times.

The defence is to keep an original and always work from it. Archive the highest-quality version you have — the camera file, the lossless export — and generate every derivative from that, rather than from the last derivative you happened to make. Where a platform is going to re-encode on upload, hand it a good-quality file rather than a pre-squeezed one, so its single pass is the only lossy step.

Try it on Image Compressor

Free, no signup, no watermark. Runs on Zyff’s servers, so you get the same result on a phone as on a desktop.

Open the tool

How to reduce an image's file size with no visible loss

  1. Start from the best original you have

    Find the camera file or the lossless export rather than a copy that has already been compressed or been through a messaging app. Every lossy pass compounds, so the number of times an image has been re-encoded matters more than any single setting.

  2. Decide the largest size it is displayed at

    Measure the widest the image is ever rendered — in a layout, in a document, on a page. This number, not the camera's resolution, is what the file needs to serve.

  3. Resize to about twice that width

    In Zyff's resizer, bring the long edge to roughly double the displayed width so it stays sharp on high-density screens. This is the largest saving available and it removes only pixels that were never being displayed.

  4. Convert to WebP

    Run it through the compressor with WebP output. At matching visual quality WebP is roughly 25 to 35% smaller than JPEG, and every current browser reads it — so this is close to a free saving. Use JPEG instead only if the file is going somewhere outside your control.

  5. Set quality to 80, then check

    Compress at 80 and compare against the original at full size, looking at faces, skies and any text. Raise to 90 for screenshots or images containing text; do not go below 70 unless the image will only ever be viewed small.

  6. Use PNG for the images that need it

    Screenshots, logos, diagrams and line art belong in PNG, where compression is lossless and there are no haloes around sharp edges. For those, take the saving from dimensions rather than a quality setting, since PNG has none.

  7. Keep the original

    Archive the source you started from. The next time this image is needed at a different size, generating it from the archived original rather than from the compressed copy is what stops quality degrading a step at a time.

At a glance

Lossless formatsPNG always; WebP and AVIF optionally
Lossy formatsJPEG, WebP, AVIF
Quality range10 to 100
Practical thresholdAbout 80 for photographs, 90+ for text and graphics
Chroma subsampling4:2:0 for photographs, 4:4:4 for coloured text and graphics
PriceFree, no account needed

Frequently asked questions

Can I really reduce image size without losing any quality?

In the strict sense, only modestly — genuinely lossless re-encoding saves about 5 to 25% on an already-compressed file. In the sense most people mean, yes: matching dimensions to actual use, switching to WebP and setting quality around 80 typically removes 60 to 80% of the bytes with nothing a viewer could identify.

What is the difference between lossy and lossless compression?

Lossless stores the same pixels in fewer bytes, so decompressing returns the original exactly — PNG works this way. Lossy discards detail judged least perceptible, which is how JPEG, WebP and AVIF achieve much smaller files. Lossless is better for screenshots and line art; lossy is far better for photographs.

What quality setting is visually lossless?

Around 80 for photographs. Above 85 you are spending bytes on detail nobody can see, between 75 and 85 the difference is only visible comparing files side by side, and below 60 artefacts are obvious. Images containing text or hard graphic edges need 90 or above, because lossy compression attacks sharp transitions specifically.

Does resizing an image lose quality?

Not in any way a viewer experiences, provided the result is still at least as large as it is displayed. Removing pixels that were never being shown costs nothing visible, which is why resizing is the largest and safest saving available. It only becomes a real loss if you go below the displayed size, or if the image is meant to be zoomed into.

Why does my image look worse after compressing it twice?

Because lossy compression is not repeatable without cost. Each pass discards detail based on what is present, so the second pass works on an image that has already lost detail and treats the first pass's artefacts as content to preserve. Always compress from the original rather than from a file that has already been through the process.

Should I strip metadata from images?

Usually yes. EXIF data, embedded thumbnails and editing history carry no image information and can be a meaningful share of a small file. Keep the colour profile if colour accuracy matters, since removing it can shift colours on wide-gamut images. Location metadata is worth stripping before publishing regardless of file size.

What is chroma subsampling and should I turn it off?

It stores colour at half the resolution of brightness, which saves data with no visible effect on photographs because human vision resolves colour detail poorly. Turn it off — use 4:4:4 — for images with saturated hard-edged colour, like red text or a sharp logo, where it causes visible colour bleeding. It costs about 15 to 20% more bytes.

Sources and further reading

More guides