The file opens here and is repaired here. No copy leaves.

Repair a damaged photo

A scan comes in marked, torn or faded. The damage is found, shown to you, and filled from the picture around it — on this device, at full resolution, with a written account of every change.

Put a scan here, or press to find oneJPG, PNG, WebP, GIF, BMP and ICO are read here. HEIC pulls a decoder the first time one arrives. A flatbed TIFF opens only where the browser itself reads TIFF, which today means Safari — save the scan as PNG if yours is refused.

Nothing damaged to hand?

Opened in this tab. The scan is read by this page and goes nowhere else.

  1. One
  2. Two
  3. Three
One scan at three stages: as it arrived, with the damage marked over an untouched picture, and closed — with the one square that was invented rather than recovered hatched and said so.

Drop a scan of a damaged print. Nothing is filled in until the marks are on screen and you have looked at them.

Detection runs the moment a scan opens, so the first thing on screen is what this page believes is damage rather than a picture it has already altered.

Damage found

an illustration, not a reading

Damage falls into three classes, because the three are repaired by different means and one of them is not repaired at all. The counts below are an illustration of how a scan sorts; the bench today reports regions, marked pixels and the share of the frame for the scan you open, and does not yet sort them into these classes. Each class has a page that goes into it properly.

Fade is not damage to the emulsion — it is a channel rangeR 12–241 · G 9–238 · B 31–229

Recovery record · 5,201 px closed · 18,940 px generated

Those two figures are the whole of the honesty here: one of them is the picture that survived and was put back, the other is the picture that did not and was made up. The record is written for the scan you open, copied out with one press, and the second figure is zero unless you asked for the model.

A different question · the container rather than the picture

The file itself will not open

Everything above is about damage to a photograph. These two are about damage to a file — a card that failed mid-write, a download that stopped, a backup that copied most of the way. They read the bytes, say what survived and at which offset it stopped, and save the surviving original bytes with a proper end. Nothing is re-encoded on the way, and each page counts the rows that still decode.

Popular tasks

The jobs this site is asked for most. Each one opens ready to work.

What damage this page can undo

Damage on a print is not one problem. It is a handful of different physical events that happen to a sheet of paper and an emulsion, and they leave marks with different widths, different shapes and different amounts of surviving information underneath them. A speck of platen dust is two pixels across and the picture continues underneath it. A fold has crushed the emulsion along a line. A torn corner has no picture underneath it at all, because the corner is in a different envelope.

The distinction that matters is width. Anything narrow enough that the picture either side of it still agrees about what should be there can be closed by looking at the neighbours: that is dust, hairline scratches, cat hairs on the glass, the speckle of foxing, and most of what a scanner adds on the way in. Anything wide has to be invented, and the local engine on this page does not invent — it will tell you it has nothing to work from rather than guess. There is now a second path beside it, taken deliberately and never by default: a model you choose to download, knowing its exact size, that draws a plausible continuation into a hole instead of averaging one. The word for what it produces is still invented, and nothing here calls it anything else. What this page ships is the narrow half done properly, the wide half done by something that guesses, and an account of which is which.

Four kinds of print damage, and what this page does with each
DamageHow it is foundWhat happens to it
Dust and specksDarker or brighter than its surroundings and narrower than the detectorMarked, then filled from intact picture within a few pixels
Hairline scratchesFails the structure test and the median test together, along a thin runMarked with a one-pixel margin for the shadow, then filled along the boundary normal
Fading and colour castMeasured, not detected: each channel's histogram is read for its real endpointsStretched back to full range per channel, with an optional density curve
Tears, creases, missing cornersWide enough that the fill has nothing local to work fromSmeared by the local fill, which says so. Redrawn by the optional model pass, which invents a continuation and says that

Three things are worth saying plainly before you spend an evening on a photograph of your grandmother:

  • Wide damage is guessed at, never recovered. The fill averages intact picture from within a few pixels of each marked one. Across a torn corner or a missing face there is no intact picture in the middle to average, so what comes back is a plausible smudge rather than a face. The optional model pass draws into those regions instead of averaging them, which is a better-looking answer and exactly as much of a guess: the paper recorded nothing there, so there is nothing for anything to recover. Where the gap held a face or a hand, treat the result as a reconstruction and say so if you pass the picture on.
  • Silvering and mould are not damage to the image, they are damage to the emulsion. The metallic sheen that comes up on old silver-gelatin prints is silver that has migrated to the surface, and mould has eaten the layer that held the picture. In both cases the information is gone from the paper, not merely obscured on it, and no amount of arithmetic on a scan recovers something the scan never contained.
  • No colour is added to a photograph that had none. Fade recovery stretches the range each channel actually holds. On a black-and-white print all three channels hold the same thing, so the result is a grey picture with its contrast back. Putting colour into a monochrome print is a different operation and it is described further down.

Working through a damaged scan

The order below is the order the engine runs in, and the same five functions run on screen and on save. One thing deliberately does differ, and it is worth knowing which. The preview works on a copy no more than about two and a half thousand pixels on the long edge, because that is what redraws at the speed of a slider. When you save, detection is measured again over every pixel of the original rather than the preview mask being scaled up — a scratch three pixels wide on a full scan is one pixel wide on the preview, and enlarging that mask would fill three times what the damage occupies. So the settings you approved are the settings that run, and the mask they produce at full resolution is a closer fit to the damage than the one you were looking at.

  1. Open the scan and let it be read. Detection runs once, in a background thread, and produces a score for every pixel rather than a yes-or-no. On a twenty-megapixel flatbed scan that is a second or two. Everything afterwards is fast because of it.
  2. Set sensitivity by watching the overlay. The slider is a threshold on a reading already taken, so the mask redraws as you drag. Turn it up until the damage you can see is covered, then back off until the picture stops being marked. The live region announces the region count each time the mask settles.
  3. Correct the mask by hand. Two mask brushes: one marks, one unmarks. Beside them are a Heal brush for spots and blots, a Scratch tool that closes a straight line you drag, and a Clone stamp for anything neither reaches. The plus and minus keys resize. With the picture focused the arrow keys walk the brush a pixel at a time, shift takes ten, and Enter marks where it stands — the whole tool is reachable without a mouse.
  4. Fill, and set the reach. Two pixels of reach is right for dust. Four suits a scratch with a shadow beside it. Past six the average stops being local and the fill starts to announce itself. Turning Fill off leaves the marks drawn over an untouched picture, which is the state to edit the mask in.
  5. Pull the fade back. Fade recovery and density both preview live, because they are three lookup tables rather than a pass of the engine. The marked pixels are excluded when the endpoints are measured, so a white scratch cannot define the white point of the photograph. Black and white points, a colour-cast correction you can measure or take from something that was grey, and a black-and-white-safe mode that curves the three channels as one sit beside it.
  6. Compare, then save. Holding the space bar puts the scan back as it arrived, with the mask hidden, for as long as you hold it; the Split view shows both at once with a divider you can drag. Saving re-runs detection at full resolution rather than scaling the preview's mask up, and writes PNG or JPG.

Forty steps of history are kept, listed beside the picture, and any state can be kept as a snapshot to come back to. Z steps back and Shift + Z steps forward; M hides and shows the mask; A runs the automatic pass; C splits the picture into scan and repair; K shows the loupe, which puts the scan and the repair side by side under the pointer at twice their size. History stores your brushwork run-length encoded rather than as flat planes, which is what makes forty steps affordable on a phone.

Files it will open, and what it does with each

JPG, PNG, WebP, GIF, BMP and ICO decode here through the browser’s own image pipeline. HEIC is decoded by a WebAssembly codec fetched the first time one is opened and not before, so nobody pays for it who does not use it. TIFF is the awkward one, and it matters more on this page than on most, because TIFF is what flatbed scanning software writes by default and a scan is the usual way a damaged print arrives: no TIFF decoder ships here, so a TIFF opens only in a browser that reads TIFF natively, which today means Safari. In Chrome and Firefox it is refused, and the honest fix is to have the scanner write PNG as well, or to save the TIFF as PNG once before repairing it.

Orientation is settled before anything else happens. A two-pixel probe JPEG with a known rotation flag is decoded with the browser’s own orientation handling switched off, which reveals whether this particular engine applies the EXIF flag by itself. The flag is then applied by hand only if the browser did not — the alternative is a scan that arrives rotated twice on some machines and once on others.

Where the limits fall, and what happens at each one
LimitFigureWhat the page does
File size120 MBRefused, with the size it actually was. The two file-recovery routes use the same ceiling
Soft pixel capAbout 32 megapixels, 16 on iOSOffers a lighter working copy as a choice, with two equal ways forward
Hard pixel capAbout 100 megapixels, 40 on iOSRefused, naming the scanning resolution that would have fitted
Bit depth16-bit PNGReduced to 8 bits per channel on the way in
AnimationGIF and animated WebPThe first frame is taken and the rest discarded

A CMYK JPEG — the kind a print shop’s workflow produces — gets no special handling on the way in, and that is worth knowing before you open one. Nothing here reads a file for its colour-space marker; what becomes of such a scan is whatever this browser’s own decoder does with it, which on some engines is a refusal and on others is a picture whose colours are wrong. If a scan opens looking inverted or unaccountably cold, save it again as RGB before repairing it, because otherwise the detector is reading a photograph nobody meant to make. Saving offers PNG or JPG. PNG is the better end for a picture you intend to keep working on, because a repaired JPG re-encoded as a JPG is a second generation of loss on top of whatever the scanner already cost you.

Questions worth asking first

Why does it show me a mask instead of just fixing the photograph?
Because the only irreversible judgement in this tool is which pixels are damage. Everything after that is arithmetic on pixels that have already been condemned. A scratch and a telephone wire look identical to a detector — both are thin, both are darker than what surrounds them, and only you know which one is meant to be there. So the marks are drawn first, in periwinkle, over an untouched picture, and nothing is filled until you have looked. If you would rather not look, the automatic pass turns on the safe settings and writes down what it did.
The detector marked the eyelashes and the telegraph pole. How do I get it to stop?
Pull sensitivity down first and watch the overlay thin out — the threshold is applied to a reading that was already taken, so the mask redraws while you drag rather than after. Fine detail in a portrait usually stops being marked somewhere around 30. Whatever survives that, take out by hand: switch the brush to Unmark and paint over it. Removal always wins over both detection and marking, so you cannot un-remove something by accident.
A filled scratch left a soft grey band where it used to be. What went wrong?
Reach is too high for the width of that scratch. The fill replaces each marked pixel with a weighted average of intact picture within that radius, and the further it reaches the less local the average becomes, until it is averaging two different parts of the photograph together. Drop Reach to 2 or 3 for anything hairline. If the band persists, the damage is wider than this fill is built for, and there are two honest answers rather than one: the model pass will redraw a region that wide, inventing a continuation rather than recovering anything, and the piece on what restoration cannot bring back explains where even that stops.
The print is orange and pale. Will the fade slider put the colours back?
It will put the contrast and the channel balance back, which on most faded colour prints is what reads as the colour returning. Each of red, green and blue is measured for where its data actually starts and stops, then stretched to the full scale — the orange goes because blue was occupying the narrowest range, not because anything decided the picture was too warm. What it cannot do is invent a hue that was never recorded. Three identical channels stretched are still three identical channels.
My flatbed scan was refused for having too many pixels. What resolution should I have used?
For a 6 by 4 inch print, 600 dpi gives about 8.6 megapixels and is comfortably inside every limit here. 1200 dpi gives 34.6 and will be offered as a lighter working copy; 2400 dpi gives 138 and is refused outright. The refusal is not about disk space, it is that a browser tab cannot hold several full-resolution copies of a picture that size at once. 600 dpi also resolves more detail than the emulsion of a domestic print from 1974 ever held.
Does anything about my photograph leave this machine?
No byte of it is sent anywhere, because there is nowhere for it to be sent — the site has no server that accepts a file and no code path that transmits one, and a check in the build refuses to publish it if one ever appears. The file is read by the browser, the work happens in a background thread on this device, and the repaired copy is written straight back to your downloads folder. Traffic does run the other way if you ask for it: pressing the control on the Redraw panel downloads two model files and the runtime that executes them, and the panel states their exact sizes before it does. Those are programs coming to your machine, not your photograph leaving it, and the privacy page lists every one of them.

Work that looks like repair and is not

A damaged print usually arrives carrying several complaints at once, and only one of them is damage. The others are separate jobs with their own methods and their own ways of going wrong, and running them from inside a restorer is how a photograph ends up looking restored instead of looking like itself. This page closes the marks and stops there, on purpose.

Five jobs that arrive with a damaged print, and where each one belongs
The jobWhat it actually isWhy it is not on this page
Putting colour into a monochrome printInvention of a hue that nothing ever recordedFade recovery stretches a range the scan already holds. On a grey print there is no separate range to stretch into a colour, so there is nothing here to build it from
Making a soft scan look crispA guess about the lens, the focus and the paper grainSharpening after a fill amplifies the fill along with everything else. It is a reasonable next step in another tool and a bad step in this one
Painting out the stranger at the edge of the frameRemoval of something real, intact and wanted by nobodyThe fill is fed by picture within a few pixels of each mark. A person is wider than that by two orders of magnitude, and what comes back is a blur in their shape
Smoothing the face in the photographA judgement about a person, not about paperDamage lying on top of a face is repaired here. The face underneath is left exactly as the emulsion recorded it, because nothing on this page is entitled to an opinion about it
Making a small scan into a large oneNew pixels reasoned out between the ones you haveScan the print again at 600 dpi instead. Enlarging a scan enlarges every scratch in it, and then the detector has a wider problem to solve than it started with

None of the five is forbidden and none of them is hard. They are simply other tools, run at other moments. The sequence that works is: scan flat and honest, close the damage, and only then do whatever else you meant to do to the picture. Taken the other way round, every later operation is applied to the scratches as faithfully as it is applied to the photograph.

Nearby tools

Four of these open this same workbench with different controls already in front, because a scratched print, a faded one, a creased one and a torn one want different things within reach first. Nothing about the engine changes between them. The fifth address is the reading: four written pieces behind one index. The two file-recovery routes are listed further up the page instead, because they answer a different sentence and belong beside each other rather than beside a photograph.

What the written pieces cover: which scanner settings decide whether a repair is possible at all, how print damage sorts by the amount of picture surviving underneath it, the point where recovering a measurement becomes inventing one, and the four kinds of loss that live in the paper rather than in the file.