Restore old photos

Mend the tears you mark, bring the colour back, and give a faded scan its contrast again — four models, running on your own device. Nothing is filled in outside what you mark or accept.

  1. Your photo

    Drop an old photo here, or choose a file

    JPGPNGWEBPBMP

    Your files are never uploaded — everything runs on your device.

  2. Restore

  3. Result

What it does

Repair finds scratches, tears and dust and shows you what it found before touching a single pixel — accept the suggestion, extend it, or paint the damage yourself. Only the marked area is ever filled in, which is the difference between a tool that restores a photo and one that quietly rewrites it.

Colour comes in two honest flavours: Faithful, which stays restrained and works on any device, and Vivid, which is more saturated and needs a graphics card. Both are a model's best guess at colour a black-and-white photo never recorded — neither one is "the truth", and Faithful is the default because a guess should not overreach.

Auto-levels evens out the faded contrast and colour cast old prints pick up, and the classic film look adds a gentle grain and tonal curve if you want one. Both are plain image maths — no model, no download, and the film look stays off by default because it is a style, not a repair.

Sharpening a soft scan is not in here on purpose — our upscaler already does that job with its own tuning, so the result card links there instead of hiding a second model behind a checkbox.

The honest limits

This is a four-model, on-device tool, and every model has a named limit. Repair runs LaMa (Apache-2.0) to fill what you mark, guided by a scratch detector adapted from Microsoft's Bringing Old Photos Back to Life (BOPBTL, MIT) — it is good, not perfect, which is why it suggests rather than decides. Colour runs either DeOldify (MIT) or DDColor (Apache-2.0); Vivid's faces are the case most likely to come out wrong, so check a portrait against Faithful if it matters. Nothing here is invented outside the area you mark or accept — but inside that area, "restored" always means a model's best reconstruction of what was probably there, not a record of what was.

Downloads run from about 340 MB (repair alone) to about 1.25 GB (repair plus Vivid colour), one-time and cached on this device afterwards. Vivid colour specifically needs a graphics card this browser can reach — part of its model has no practical fallback, so it is disabled rather than left to run for twenty minutes on a processor.

Why this, on-device

An old family photo — someone who has died, a house that no longer stands, a face nobody in the family can quite place any more — is exactly the file people hesitate to hand to a website. Your files are never uploaded — everything runs on your device. The repair model, the detector and both colourisers run in this browser tab, on your graphics card or processor, and the photo never has to leave the computer it is already on.

Questions people ask

Will it invent details that were never in the photo?

Only inside the area you mark or accept. YourDevice restores old photos with LaMa, and repair never runs on the whole photo — it fills the mask you painted, or the detector's suggestion once you have looked at it and pressed run, and nothing else. Colourising a black-and-white photo is a different kind of guess by nature: the model predicts plausible colour for a scene it has never seen in colour, which is why Faithful stays restrained and Vivid is offered separately rather than as the only option.

Why does it ask me to find the damage before restoring?

Because the damage detector is good, not right — on our own test set it spent over half its guesses on mount borders and captions, and handing that straight to the repair model would have silently erased a caption or a sword in someone's actual photo. So detection and repair are two separate presses: the suggestion is drawn on top of your photo for you to extend, erase or ignore, and only the mask you end up holding is the one that gets filled in.

What's the difference between Faithful and Vivid colour?

Two different colourisation models, not two settings on one. Faithful is DeOldify, restrained and able to run on a plain processor. Vivid is DDColor, which produces more saturated colour but needs a graphics card — part of its decoder has no working fallback, so asking it to run without one would hang the tab rather than run slowly. Faces are the case most likely to look off in Vivid; if a portrait matters, check it against Faithful.

Does anything get uploaded?

No. YourDevice restores photos entirely in this browser tab. Your files are never uploaded — everything runs on your device. The four models involved — for finding damage, filling it in, and the two colourisers — are downloaded once to this device and then run locally for every photo after that, including the one you just restored.

How big are the downloads?

It depends which parts of the photo restorer you turn on. Repair alone is about 340 MB (a damage detector plus the repair model). Adding Faithful colour brings a full run to about 760 MB; Vivid colour instead brings it to about 1.25 GB — Vivid runs at full precision, because on the graphics card the smaller build washed the colour out. Auto-levels and the film look add nothing — they are plain image maths, not models. Everything is cached after the first run, so a second photo costs nothing to download.

What size of photo can it take?

Up to 40 megapixels, which is comfortably above a 12 MP phone photo and a 300 dpi scan of a 6×4 print. That ceiling is memory, not the models: a decoded photo, its mask, the detector's suggestion and the finished image all sit in the browser tab at once, and beyond 40 MP the tab is more likely to run out of memory than the models are to run out of accuracy.