Generation loss: what repeated saving does to a JPEG

Every re-save of a lossy image degrades it further, and the damage only accumulates. This is why a photo forwarded through several chats looks the way it does.

The essentials

What it is
Cumulative damage from repeatedly decoding and re-encoding a lossy image.
Direction
One way. It never improves, and a higher quality on a later save does not help.
Triggered by
Any decode-and-re-encode: editing, chat apps, some CMS uploads.
Not triggered by
Copying, moving, renaming, or opening without saving.
Worst case
Repeated low-quality saves — the smeared look of a much-forwarded photo.
Prevention
Work from the original and export once.

How it works and how to avoid it

Why each save makes it worse

Opening a JPEG decodes it into pixels. Saving it runs the encoder again: the image is transformed, the coefficients are quantised, and detail is discarded.

The critical point is that the second encoder cannot tell the difference between real detail and the first encoder's artefacts. The block edges and ringing left by the first pass are treated as genuine image content, and they get quantised in their turn — producing new errors on top of the old ones.

Do this repeatedly and you accumulate layers of approximation, each built on the last. That is generation loss, and it is why the damage compounds rather than plateauing.

How fast it happens

It depends almost entirely on the quality setting.

At quality 90 or above, several re-saves produce differences most people cannot see, because so little is being discarded each time. At quality 70, damage is noticeable after three or four generations. At quality 50, two saves are enough to see it clearly.

There is also a stabilising effect worth knowing about: if you re-save repeatedly at the same quality with no editing in between, the image partially converges — much of the detail that would be discarded has already gone. It is the combination of re-saving and editing, or re-saving at varying qualities, that degrades fastest.

What does and does not cause it

Causes it
Opening in an editor and saving. Chat apps re-compressing on send. Some CMS platforms re-encoding on upload. Cropping and re-saving. Screenshotting an image.
Does not cause it
Copying or moving a file. Renaming it. Emailing it as an attachment. Uploading and downloading unchanged. Opening it and closing without saving.
Special case
Lossless JPEG operations — rotating by 90°, or cropping on block boundaries, with a tool such as jpegtran — rearrange the existing data without re-encoding, so they cause no loss at all.

The distinction is simply whether the pixels were decoded and re-encoded. If the bytes were only moved around, nothing is lost.

The much-forwarded photograph

The characteristic smeared, blotchy, washed-out look of an image that has been round several group chats is generation loss at its most visible.

Each app re-compresses on send, often aggressively to save mobile data. Forward it again and it is compressed again — from the already-degraded copy, not the original. Ten forwards is ten lossy encodes stacked on top of each other, and no setting recovers any of it.

Sending the original file rather than forwarding a received copy avoids the entire chain.

Working non-destructively

  • Keep a master. The camera original, or a lossless export, untouched.
  • Edit from the master every time, not from your last export.
  • Export once, at the settings you actually want.
  • Testing several settings? Run each against the original, never step one file down repeatedly.
  • Intermediate files in a workflow should be lossless — PNG or your editor's own format.
  • Send as a document where chat apps offer it, which bypasses their re-compression.

Try it yourself

Everything below runs in your browser, so you can test any of this on your own files without uploading them.

  • Compress JPEG

    Shrink JPG and JPEG photographs with a quality slider or an exact target size.

    Open the tool
  • Lossless compressor

    Zero quality loss, every pixel preserved exactly. Honest about how modest the saving is.

    Open the tool
  • Resize image

    By pixels or percentage, aspect ratio locked, across a whole batch.

    Open the tool

Questions

Frequently asked questions

Every answer below is present in the page source, expanded, so it can be read without opening anything.

Does opening a JPEG damage it?

No. Decoding is harmless — damage only occurs when the image is re-encoded and saved. You can open, view and close a JPEG as often as you like with no effect on the file.

How many times can I re-save before it shows?

At quality 90 or above, many times before most people notice. At 70, three or four generations become visible. At 50, two are enough. Editing between saves accelerates it, because each edit gives the encoder new content to approximate.

Does copying a file cause generation loss?

No. Copying, moving, renaming, emailing and uploading all move the same bytes without decoding them. Only decode-and-re-encode causes loss.

Does saving at higher quality stop the damage?

It slows further damage but repairs nothing already done. A high-quality save of a degraded image is a large file containing the same artefacts, faithfully preserved.

Do PNG and other lossless formats have generation loss?

No. Lossless formats reproduce the exact pixel values every time, so a PNG can be opened and saved a thousand times with no change whatsoever. This is one reason to keep intermediate working files lossless.

Can I rotate a JPEG without losing quality?

Yes, with a lossless rotation tool such as jpegtran, which rearranges the existing compressed data rather than re-encoding it. Rotating in a general image editor and saving does cause a generation of loss.

From the blog

Related reading

Longer, more practical guides from the blog.

  • Image Compression

    JPEG Quality Settings Explained: What the Number Actually Means

    Quality 80 is not 80% of anything. It is an index into a quantisation table. Measured on one photograph: dropping from 100 to 90 removes 77% of the file and 4.2 dB of fidelity; dropping from 40 to 30 removes 17% and costs almost as much.

    8 min read

  • Practical Guides

    How to Compress Images for a Website Without Wrecking Them

    Resize before you compress. Measured on one photograph: half the width at quality 80 produced a 16.4 KB file, while full width at quality 40 produced 20.6 KB and looked far worse. The order of operations matters more than the settings.

    8 min read

  • Image Formats

    WebP vs JPEG: Which Should You Use, and When JPEG Still Wins

    WebP produced a 27.0 KB file against MozJPEG's 41.1 KB on the same photograph at slightly higher measured fidelity — 34% smaller. It also produced a larger file than JPEG on random noise. The advantage is real and content-dependent.

    9 min read