What the pipeline does
Old photographs have several kinds of damage at once. There may be physical damage (scratches, tears, water stains, foxing). There may be optical degradation (low resolution because the camera, scanner, or print was small). And the most precious part — the faces — may be soft because of all of the above. A single model rarely handles every kind of damage well, so this tool runs three:
- Morphological inpainting first. Classical computer-vision morphology operations identify high-frequency anomalies (thin bright or dark lines that don't fit the surrounding texture — i.e. scratches and dust) and reconstruct them from neighbouring pixels. This step happens before the neural networks, because feeding scratches into a generative model tends to produce strange artefacts.
- Real-ESRGAN super-resolution. A generative adversarial upscaler that adds plausible high-frequency detail while increasing resolution. It is trained on real-world degraded images, so it handles JPEG artefacts, blur, and noise as part of the upscaling rather than amplifying them. Output is typically 2× the input resolution.
- GFPGAN face refinement. Finally, the same face restoration model used by our standalone Face Restore tool runs on any detected faces in the upscaled image, replacing soft or low-detail face regions with sharp, photorealistic ones.
When to use the healer vs. individual tools
If your photo has only one kind of problem, use the specific tool for it. The healer is heavier and slower than the individual models because it runs all three. Use the healer when:
- The photo has visible physical damage and faces you want to restore
- The photo is low-resolution and needs cosmetic clean-up
- You don't want to figure out which tool fits — the healer is the one-shot option for "this old photo needs help"
Use the individual tools when:
- The photo just needs a face fixed: use Face Restore
- The photo just needs to be larger or sharper but is otherwise clean: skip the healer (no individual upscaler is exposed yet, but Face Restore on a portrait will also upscale the face region)
- The photo needs colour: use the Photo Colorizer separately, after healing
What the pipeline can and cannot fix
Realistic expectations help a lot here. The healer is good at:
- Thin, isolated scratches — straight or curved — across uniform regions of the image
- Dust spots and small specks
- Generic blur and softness
- Recovering face structure from soft or compressed portraits
- Improving overall sharpness and contrast
It struggles with:
- Large missing regions (a torn-off corner): the inpainting can fill small gaps but invents content for big ones
- Heavy mould, foxing, or large stains: the colour shift is treated as part of the image
- Bent, folded, or creased prints: physical distortion needs perspective correction first, in an editor
- Fading: contrast restoration is partial; for severely faded photos, manual levels adjustment in an editor before uploading helps a lot
- Group portraits with many small faces: the face detector may miss some, leaving them soft while the rest are sharp
Suggested workflow for old family photos
- Scan the original at 600 DPI or higher. Don't over-process the scan; let the model see the raw degradation.
- If the print is heavily faded or has a colour cast, do a quick levels/curves adjustment in any image editor to restore basic contrast.
- Crop tightly. The healer downscales to 512px before processing, then upscales internally; a tight crop on the important part of the photo gets you the most resolution where it matters.
- Run the healer.
- If you want colour, run the result through the Photo Colorizer next.
- Make any final tweaks in an image editor. The healer's output is a starting point, not a deliverable.
Honesty about generative restoration
Two of the three stages in this pipeline are generative: Real-ESRGAN and GFPGAN. They invent detail. The detail is consistent with the rest of the image and looks photorealistic, but it is not detail that was present in the original print. For most family-photo use cases this is fine — the goal is to recover something that looks like the moment, not to forensically reconstruct every pixel. But for archival, journalistic, or historical work, you should disclose that AI was used.