Clean JPEG Compression Damage
Compression damage is unusual among image faults because it is completely predictable. It is not random noise scattered by chance — it is a grid, laid down in eight pixel squares by an algorithm that made the same decision everywhere it ran out of budget. That structure is what makes it removable, and it is also why a single careless save at the end undoes the whole job.
Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.
Add to Chrome — freeDrop an image here, or click to browse
Up to 25 MB. Uploaded temporarily, deleted after processing.
What it does
- Block edges, ringing, and banding targeted together
- Genuine edges and texture held in place
- Low denoise so nothing is redrawn
- Lossless output at around one and a half megapixels
How to use Remove Compression Artifacts
- 1
Find the least-saved copy you have
Damage compounds with every re-save. The version straight off the camera or out of the original message beats any processed copy of it.
- 2
Run the clean-up
A low denoise pass removes the block grid, the ringing along contrast edges, and the banding in gradients, without moving real detail.
- 3
Save the result as PNG
This is the step that matters. Re-encode the output as a JPEG and you have paid for a clean image and thrown it away.
How it works
Your image is scaled to about one and a half megapixels and repainted at a low denoise, with a fresh seed each run. The instruction names the three distinct symptoms rather than asking vaguely for a cleaner picture: square block edges, ringing around high contrast lines, and color banding across smooth gradients. The negative prompt argues against the usual overcorrection, which is waxy smoothing that takes the real texture out along with the artifacts.
Low denoise is deliberate. Compression damage is superficial in the literal sense — it sits on top of a picture that is otherwise correct — so the model is being asked to subtract something, not to rebuild anything.
Three symptoms, one cause
They look unrelated and they come from the same step.
Blocking is the visible grid. The format processes eight by eight squares independently, and when the quality setting forces it to describe each square coarsely, adjacent squares end up with slightly different average tones. In a clear sky, where nothing should change at all, those small disagreements are plainly visible as tiles.
Ringing is the halo along sharp edges. A hard black-to-white transition needs many high frequency terms to describe exactly, and those are the first things discarded. What remains overshoots on both sides, so you get a bright fringe outside dark text and a dark fringe inside it. This is why screenshots of text suffer more than photographs of faces.
Banding is the staircase in gradients. Subtle tonal steps get quantized onto a coarser ladder, so a smooth sunset becomes a set of visible steps with hard boundaries between them.
Because all three come from the same quantization, an image with one usually has all three, and treating them together works better than chasing them separately.
The save format is half the job
There is a failure mode here that has nothing to do with the model.
Run this page, get a clean file, open it in an editor, export at JPEG quality seventy, and you have re-run the exact process that caused the damage. Worse, you have run it on an image that now has larger flat areas — and flat areas are where blocking shows most. The output can end up looking no better than what you started with.
So the rule is simple and worth following even outside this page. PNG for anything being edited, archived, or passed to another tool. JPEG only at the very end, once, at high quality, for the specific place that needs a small file. Never JPEG in the middle of a chain.
Find the earlier copy first
Before running anything, spend a minute looking for a less damaged source.
Generation loss compounds. A photograph that has been through a chat app, then a screenshot, then a re-share, has been quantized several times over, and each pass degraded the output of the last. The camera roll original, the email attachment, the copy in the cloud backup — any of these is dramatically better than the file you are about to clean.
No amount of processing beats not having lost the information. This page is for when the damaged copy is genuinely the only one left.
Publication gate
This page ships once the workflow has been run against a heavily blocked sky, a screenshot of black text on white, a banded gradient, and a lightly compressed photograph that needs no work, confirming in the last case that fine texture survives the pass.
Examples
Heavily forwarded photo
The intended case. Smooth areas show the block grid most clearly, and smooth areas are where the reconstruction is most confident.
Screenshot of text
Improves legibility. Sharp black-on-white edges are the worst case for the format and produce the strongest ringing, so the gain is large.
Frequently asked questions
Why do the squares appear in the first place?
JPEG divides the picture into eight by eight blocks and describes each one separately with a set of frequency terms. At low quality it discards the finer terms to save space, so each block is described more coarsely than its neighbor and the two no longer agree at the join. The grid you see is those disagreements.
Should I save the result as JPEG?
No, and this is the most important line on the page. Saving as JPEG runs the same process that caused the damage, on an image that now has more smooth areas for it to work on. Use PNG for anything you will edit or archive. Choose JPEG only as the final export, once, at high quality.
Does re-saving the same file make it worse each time?
Yes, generation loss is real. Every decode and re-encode quantizes again, and the errors accumulate rather than canceling. This is why a photograph forwarded through several apps looks far worse than the same photograph saved badly once, and why finding the earliest copy is worth more than any clean-up.
Can it recover detail that compression removed?
Not honestly. What was quantized away is gone, and a smooth area that was once fine texture stays smooth. What this fixes is the added damage — the false edges and haloes that were not in the scene. Removing something that was never there is a very different job from restoring something that was.
Is the AI Remove Compression Artifacts tool free, and do I need an account?
Yes. The AI remove compression artifacts is free, and there is no account to make first. Nothing is billed, no email is asked for, and no watermark is added to what you download. Uploads are capped at 25 MB, the work is queued on a shared GPU host rather than run in your browser, and finished jobs are held for thirty minutes before they are cleared.
Further reading
- Cropping a JPEG Re-Encodes the Part You KeptCropping feels subtractive — you are taking pixels away, not changing them — so the part you keep should arrive untouched. In a JPEG it usually does not, and the reason is the same one that makes rotation lossy.
- Compressed, Base64 Cost Nothing on a JPEG and 17% on JSONBase64 costs a third, and almost everything it travels over is compressed, so the real question is what survives the compressor. The answer is not one number: on already-compressed data the overhead vanishes, and on compressible data a sixth of it stays.
- Minifying JSON Saved 36%, and 3.7% Once It Was CompressedMinifying JSON is standard advice and the raw saving is large enough to make it look obviously correct. Almost everything that carries JSON compresses it first, and once you measure the compressed sizes the case mostly disappears.