Fix corrupted photosBroken photo files, checked at once

Add one file or a whole memory card’s worth. See which photos can be saved, and download them in one go.

Drawing of a list of photo files, each marked recovered, intact or no data
Drawn: one row per file
JPEG, PNG, HEIC, WebP and GIF. Many at once is fine: each gets its own row.
FreeNo sign-up

Every request this page can make

Your picture is opened from your device and repaired in this tab. None of these requests carries it. A row marked happened has been made in this tab since it opened.

RequestWhenCarries your picture?This tab
This site's pages, scripts, styles and fontsPage loadNo● happened
Cloudflare Web Analytics beacon (cookieless)Page load, on the live domain onlyNo○ not yet
HEIC decoder (this site)The first HEIC file you openNo○ not yet
TIFF reader (this site)The first TIFF file you openNo○ not yet
ONNX Runtime (this site)The first model pass you ask forNo○ not yet
Model files (our model file server)Only when you press a button that names their sizeNo○ not yet
Contact form (Google Forms)Only when you press Send on the contact pageNo; there is no way to attach a scan○ not yet

Check it yourself: open your browser’s network panel and repair a scan.

Each file is identified by its bytes, walked, and — for JPEG and PNG — cut back to the last byte that can be trusted and closed properly. What you save is your own file’s bytes, not a re-encode.

What this page does to each file

The first bytes of a file say what it is, whatever its name says. A JPEG goes to the marker walk, which reads the compressed picture until it stops being trustworthy: the end of the file, a long run of zero or FF bytes, or a marker that cannot appear there. Everything before that point is kept byte for byte and the end marker is appended. A PNG goes to the chunk walk, which checks every CRC and keeps the image data that arrived.

Every row is decoded once in your browser to count the rows of picture that survive, and the count is printed. A recovered file that decodes can be carried to the bench in the same tab, without saving it first.

When this is the wrong tool

  • A card that will not mount, or files that are missing altogether, need card-level recovery software. This page works on files you can already see.
  • Picture data that was overwritten or never written cannot be rebuilt from the bytes that remain.
  • RAW camera files (CR2, NEF, ARW, DNG) are not read here.

Questions about corrupted photos

Can corrupted photos from an SD card be fixed?
Often partly. When a card or a copy fails part-way through writing a photo, the start of the file is usually intact and the end is missing or filled with zeros. For JPEG and PNG this page finds the last byte that can be trusted, keeps everything before it exactly as it was, and closes the file properly, so the part of the picture that was written opens again.
Why does my recovered photo still have a grey band at the bottom?
Because the rows below the band were never written to the file. A JPEG stores its picture from the top down; a file cut short has the top of the picture and nothing after. No tool can recover rows that are not in the file. If you open the recovered file on the bench, that band is left out of the mask, because it is missing picture, not damaged picture.
What does 'no picture data' mean?
Every byte of the file is zero, or every byte is FF. The card recorded the file's name and size but never wrote its contents. Nothing in the file can help; card-level recovery software, run on the card itself, sometimes finds the real data elsewhere.
Does it repair HEIC and WebP files?
It checks them: HEIC by walking its boxes, WebP by its RIFF length, GIF by its trailer byte, and then tries to decode each in your browser. Byte-true recovery is built for JPEG and PNG only, and the row says so rather than offering a re-encode dressed up as a repair.
Are my files uploaded?
No. Each file is read by this page in your browser, and the ZIP is assembled in memory on your device.

Related

Photographic visual for Repair Corrupted Photos
Repair Corrupted Photos