PNG Chunk Inspector
List every chunk in a PNG file with size, type and CRC.
Overview
The PNG Chunk Inspector walks the internal structure of an uploaded PNG file and lists every chunk it contains — name, length in bytes, position in the file, and the verification status of its CRC. Drop in any PNG and the inspector returns a table that reads like a low-level dump from a debugger.
It is the go-to diagnostic when a PNG won't render, when you suspect a file has hidden metadata or non-standard chunks, when you want to know which ancillary chunks are inflating the file size, or when you're learning the PNG file format. Security researchers also use it to look at PNG chunk structure for forensic evidence of editing.
How it works
A PNG is a sequence of chunks following an 8-byte magic header (89 50 4E 47 0D 0A 1A 0A). Each chunk is length (4 bytes big-endian) + type (4 ASCII bytes) + data (length bytes) + CRC32 (4 bytes). The first chunk must be IHDR (image header), the last must be IEND, and the pixel data lives in one or more IDAT chunks in between.
The inspector reads the magic header, then loops through chunks until it hits IEND or runs out of bytes. For each chunk it recomputes the CRC32 over the type and data fields and compares against the stored CRC — a mismatch flags the chunk as corrupted. Critical chunks (uppercase first letter: IHDR, PLTE, IDAT, IEND) are marked separately from ancillary chunks (tEXt, iTXt, pHYs, iCCP, gAMA, eXIf, etc.).
Examples
File: artwork.png
Offset Type Length CRC
8 IHDR 13 ok
33 sRGB 1 ok
46 gAMA 4 ok
62 pHYs 9 ok
83 iCCP 560 ok (sRGB v4)
655 IDAT 8192 ok
...
192447 iTXt 482 ok (XMP metadata)
192941 IEND 0 ok
14 chunks total, 1 critical iCCP profile, 2 text chunks.
FAQ
What's the difference between critical and ancillary chunks?
Critical chunks (uppercase first letter) are required to decode the image — without IHDR and IDAT you have no pixels. Ancillary chunks are metadata that decoders may safely ignore.
Why would a chunk have a bad CRC?
The most common cause is a truncated download or a corrupted file system. A bad CRC means the chunk's payload was altered and the decoder may reject it.
Can I see the contents of a tEXt chunk?
The inspector shows the keyword and a preview of the value. For full content extraction, use a metadata reader tool like the EXIF Viewer which surfaces both EXIF and PNG text chunks.
Are private chunks dangerous?
Private chunks (lowercase second letter) are non-standard and may carry arbitrary application data. They are safe for compliant decoders to skip; the inspector lists them so you know they're there.
What about animated PNGs?
APNG adds acTL, fcTL and fdAT chunks. The inspector lists them like any others — you'll see one fcTL/fdAT pair per animation frame.