BYTETOOLS

PNG Chunk Viewer

Break a PNG into its chunks and see each one's length, CRC-32 result and decoded contents, plus how many bytes metadata is really costing you.

Drop a PNG to list every chunk inside itParsed byte by byte in your browser — nothing is uploaded

Choose a PNG to see its chunk structure, how many bytes each chunk costs, and whether every CRC-32 checksum still matches.

What is the PNG Chunk Viewer?

A PNG is not one blob of data — it is an eight-byte signature followed by a chain of chunks, each carrying a length, a four-letter type, a payload and a CRC-32 checksum.

  • Every chunk listed with its type, data length, total cost on disk and CRC status
  • CRC-32 recomputed locally for each chunk to prove the file is not corrupted
  • Payloads decoded for IHDR, PLTE, tRNS, gAMA, pHYs, sRGB, iCCP, tEXt, iTXt and APNG chunks
  • Consecutive IDAT and fdAT runs folded into a single row
  • Pixel data versus metadata shown as a percentage of the file size
  • Critical and ancillary chunks labelled so you know what is safe to strip

How to use the PNG Chunk Viewer

  1. 1

    Drop a PNG or APNG file into the upload area.

  2. 2

    Check the summary tiles for the chunk count, image dimensions and the split between pixel data and metadata.

  3. 3

    Read the coloured banner to see whether every CRC-32 checksum still matches.

  4. 4

    Tick Hide pixel-data chunks to drop the IDAT rows and leave only metadata behind.

  5. 5

    Click Copy chunk map to take the whole table away as tab-separated text.

About the PNG Chunk Viewer

A PNG is not one blob of data — it is an eight-byte signature followed by a chain of chunks, each carrying a length, a four-letter type, a payload and a CRC-32 checksum. The ByteTools PNG Chunk Viewer walks that chain and lists every chunk it finds, so you can see exactly how the file is put together and where its bytes are going.

Payloads are decoded rather than dumped as hex. IHDR becomes dimensions, bit depth and interlace method; PLTE becomes a palette entry count; pHYs is converted into real DPI; and gAMA, sRGB, cHRM, iCCP, tEXt, iTXt, tIME and the APNG animation chunks all get a plain-English summary. Long runs of IDAT are folded into one row so the table stays readable.

Every byte is parsed locally in your browser and nothing is uploaded to a server. The CRC-32 of each chunk is recomputed on your own device and compared with the stored value, which is a quick way to prove a download arrived intact. Your file never leaves your machine, so confidential assets stay confidential.

Frequently asked questions

What are PNG chunks?

PNG stores everything in chunks: a four-byte length, a four-letter type code, the payload and a CRC-32 checksum. Critical chunks such as IHDR and IDAT are required to display the image, while ancillary chunks such as tEXt or pHYs carry optional extras.

How can I tell if a PNG file is corrupted?

Every PNG chunk carries a CRC-32 checksum of its own contents. This viewer recalculates each one and shows a red banner if any of them fail, which means the file was truncated, damaged in transfer, or edited by software that did not update the checksums.

Why is my PNG file so much larger than the image needs?

Editors often add large ancillary chunks such as embedded ICC profiles, XMP packets and tEXt comments that have nothing to do with the pixels. The metadata percentage in this tool shows what those chunks are costing so you can decide whether to strip them.

What is the difference between critical and ancillary PNG chunks?

A chunk type whose first letter is uppercase is critical, and a decoder must understand it to show the image. A lowercase first letter marks an ancillary chunk that any decoder is free to skip, which is why removing those is usually safe.

Does this PNG chunk viewer upload my file?

No. The PNG is read into memory and parsed byte by byte in your browser, and no network request is made at any point. Nothing is stored either, so refreshing the page discards everything.

Related tools