Diagnose · fix · report

Repair PNG

Bring back PNGs that will not open: fix damaged headers and checksums, finish cut-off files, and unmask “PNGs” that are really JPEGs. You get a plain report of what was fixed and what could not be.

Repaired in this tab. Nothing is uploaded.

Drop a broken PNG

Or any file that is supposed to be a PNG.

Options

Changing an option re-runs the repair on the same file.

What can and cannot be repaired

The repair walks through the file chunk by chunk, checks everything a PNG decoder checks, and rebuilds the file from the parts that are sound. It fixes:

  • Wrong file type. A JPEG, WebP or GIF with a .png name is detected from its first bytes; you can convert it to a real PNG or just download it with the right extension.
  • Damaged signature bytes, junk in front of the PNG, and the signature damage left by text-mode FTP transfers.
  • CRC mismatches: checksums are recomputed, and the image data is test-decoded to tell a damaged checksum from damaged pixels.
  • Damaged chunk lengths and headers, by finding the next intact chunk.
  • A missing IEND and IDAT chunks split up by other chunks.
  • Apple iOS-optimised PNGs (CgBI), converted to standard PNG.
  • Truncated files: every row that survives is decoded and saved, and the report says exactly how many rows (or, for interlaced files, how much of the picture) were recovered.

What it cannot do is invent data that is not in the file. Rows lost with the end of a download are gone; they are left transparent or cropped away, never painted in. If the header (IHDR) or the palette of a palette image is destroyed, the pixels cannot be interpreted at all.

A “PNG” that is something else

Images saved from websites are often JPEG or WebP files served under a .png name, which is harmless. A file that turns out to be a web page, an archive or a program is a different matter: it usually means the download link was not what it claimed.

Downloaded it from a site you do not know? A fake “PNG” is a warning sign. Next time, open sites like that in WebTraceCheck's disposable cloud browser, which runs on an isolated machine and is deleted after the session, so nothing touches your computer.

To look at the damage yourself, open the file in the PNG chunk inspector, which shows every chunk, checksum and offset.

Questions

Why won't my PNG open?

The most common causes are an incomplete download (the end of the file is missing), a file that is really a JPEG or WebP with the wrong extension, and corrupted bytes from a failing disk or memory card. The report tells you which one it is.

Can it recover the bottom of a cut-off image?

No. The pixels that were never downloaded are not in the file, and no tool can recreate them. The repair keeps every row that did arrive and tells you how many rows were lost. Re-downloading the original is the only way to get the rest.

Does repairing change the pixels?

When only the structure is damaged (signature, checksums, chunk lengths, a missing end chunk), the compressed image data is kept byte for byte. When rows are missing or the compressed stream is broken, the surviving pixels are re-encoded losslessly.

What is a CgBI PNG?

Apple's build tools convert app images into a non-standard PNG variant with premultiplied BGRA pixels and a CgBI chunk. iPhones read it, most other software does not. The repair turns it into a standard PNG.

Is my file uploaded?

No. The diagnosis and repair run in a background worker in this browser tab, and the file never leaves your device.

More PNG tools