PNG Chunk Inspector
Drop a .png file and see every chunk it contains — IHDR, IDAT, tEXt metadata, IEND — with sizes, CRCs, and the critical/ancillary/safe-to-copy flags.
How to use
- Drop a
.pngfile. The IHDR summary and chunk list appear immediately. - The chunk table shows the 4-letter type, payload length, and the four type-bit flags.
- Any
tEXt/iTXtmetadata is decoded at the bottom — useful for spotting embedded copyright tags or editor signatures.
About this tool
ShowHide
A PNG is a fixed signature followed by a sequence of chunks, and nothing else. Each chunk carries a four-byte length, a four-letter type, its payload, and a CRC-32 — computed over the type and the payload but not over the length, a detail that trips up anyone writing a chunk by hand. This inspector walks the whole file in the browser, lists every chunk with its offset and size, pulls the image's dimensions, bit depth and colour type out of IHDR, and decodes tEXt and iTXt blocks, which is where editors leave signatures, copyright lines and camera notes that nothing in the picture shows.
The type code is not just a label — the capitalisation of each of its four letters carries a flag, encoded in a single bit of each byte. The first letter tells a decoder whether the chunk is critical or ancillary: uppercase means the file cannot be displayed correctly without understanding it, lowercase means it can be skipped. The second distinguishes a public, registered type from a private one. The third is reserved and must be uppercase. The fourth is the clever one: it tells an editor that does not recognise the chunk whether copying it into a modified file is safe. A chunk marked unsafe-to-copy depends on the pixels, so preserving it through an edit would produce a file that quietly disagrees with itself.
That scheme is why PNG has aged well. A decoder from 1996 can open a file using chunk types invented since, ignore the ones it does not know, and still render the image correctly — because the file itself tells it which ignorance is safe.
A few structural rules make a file valid rather than merely parseable. IHDR must come first and IEND last. Image data can be split across several IDAT chunks, and they have to be consecutive, because the compressed stream runs across the boundaries as if the splits were not there. A chunk's declared length may not exceed 2³¹ − 1 even though the field holds 32 bits. And the two text chunks differ in a way that matters for anything non-English: tEXt is Latin-1 and cannot represent most of the world's writing, while iTXt is UTF-8 and can, optionally compressed. A file with accented characters mangled in its metadata usually has them in the wrong one.
Frequently asked questions
What are critical vs ancillary chunks?
Critical chunks (IHDR, PLTE, IDAT, IEND — first letter uppercase) must be understood by a decoder for the image to render. Ancillary chunks (lowercase first letter, e.g. tEXt, pHYs, tIME) carry metadata that decoders can safely ignore.
Where do tEXt keys come from?
Standard registered keys are Title, Author, Description, Copyright, Creation Time, Software, Disclaimer, Warning, Source, Comment. Editors usually write Software (the name of the editor) and sometimes private custom keys.
What is worth looking at when a PNG is unexpectedly large?
The relative size of the chunks. A file that is mostly IDAT is genuinely image data, and the fix is fewer colours or a smaller canvas. A file with megabytes outside IDAT is carrying something else — an embedded colour profile, a thumbnail, an editor's private workspace data, or text chunks accumulated by a pipeline — and stripping the ancillary chunks reclaims that space with no visible change.
Can a PNG leak information the picture does not show?
Yes. Text chunks routinely carry the software that wrote the file, a source path, an author name or a prompt; a colour profile can identify a device; and nothing removes a chunk unless a tool is asked to. The pixels are only part of what you publish, so inspect the chunk list before sharing an image whose provenance matters.
Related tools
WebP File Inspector
Walk a .webp file’s RIFF chunks in your browser: lossy, lossless or extended, canvas versus frame size, animation timing, alpha, ICC, Exif and XMP.
File
Font File Inspector
Open a .ttf, .otf or .woff and read its real family name, glyph and character counts, version, licence text and embedding permissions.
File
MP4 / ISO Base Media File Inspector
Open an MP4, M4A, M4V or MOV in your browser: brands, the fast-start check, the whole box tree, every track codec and duration, and iTunes tags.
File
WAV File Inspector
Drop a .wav file and read its format, channels, sample rate, bit depth, duration, all RIFF chunks, and embedded LIST/INFO tags — fully client-side.
File
File Splitter
Split a large file into smaller chunks to bypass attachment or upload size limits.
File
CSV Splitter (by rows)
Split a large CSV into smaller chunks by row count — repeat the header on each chunk, download all at once.
File