Skip to content
checkaifree

Practical guide

Inspect PNG text chunks, duplicate keywords and decoded values

PNG text has both an outer chunk and an inner stored value. Use the same four-field file in the chunk inspector and text reader to connect its exact byte ranges with duplicate keywords, Unicode and a compressed comment.

18 October 2026 · Check AI Free

Keep the container inventory and text reading together

Download original.png or use Try synthetic PNG sample in the chunk inspector. It is a generated 1 × 1 PNG with nine chunks and four text occurrences. The chunk inventory records type, offset, data length, full length, position and CRC; it does not display the private stored text. Open the same file in the PNG text reader to decode those values.

The W3C PNG Recommendation distinguishes uncompressed Latin-1 tEXt, compressed Latin-1 zTXt and UTF-8 iTXt. Compression and encoding are different properties: this example's iTXt is uncompressed, while its zTXt is compressed. A duplicate keyword remains a separate chunk.

  • Download the original four-text PNG — Project-authored 1 × 1 PNG, 748 bytes, nine chunks and four stored text occurrences. Includes a private ancillary chunk and an explicitly unsigned synthetic credential store. PNG structure fixture v1.
  • W3C PNG Third Edition, 24 June 2025 — Fixed Recommendation: chunk layout, text encodings, ordering, CRC and animation structures. Our bounded tools implement the operations described here, not every conformance requirement.

Locate the four text occurrences

  1. Step 1

    Inspect the complete chunk sequence

    Open the PNG chunk inspector and click Try synthetic PNG sample, or choose original.png. Expect 748 bytes, nine structure units, declared dimensions 1 × 1, status valid and zero diagnostics. Text chunks are chunk-4, chunk-5, chunk-6 and chunk-8; all nine stored CRCs match.

    Inspect the PNG chunks

  2. Step 2

    Read the same downloaded PNG as text

    Choose original.png in the PNG metadata reader. Expand the stored fields rather than replacing this input with that reader's different built-in sample. Expect two Author occurrences, one Description and one Comment. The Comment is marked after image data.

    Read the stored PNG text

  3. Step 3

    Keep each duplicate separate

    The first Author value is =1+1 and the second is Synthetic second author. They are plain stored text here; no expression is executed. Copy field and Download text operate on the selected occurrence. If you export general metadata as CSV, spreadsheet formula protection deliberately prefixes special values; JSON preserves the exact raw string.

Match values with their actual chunks

Data length counts the chunk payload, including keyword and encoding headers. It is not the same as the number of displayed characters. Each full PNG chunk adds 12 bytes for length, type and CRC. Save Download structure JSON if you need this positional inventory; the report omits input filenames and stored text values.

Match values with their actual chunks
Chunk / rangeEncoding and stored valueWhat the observation tells you
chunk-4 tEXt · byte 513 · 11 data bytesAuthor: =1+1First occurrence, before IDAT
chunk-5 tEXt · byte 536 · 30 data bytesAuthor: Synthetic second authorSecond occurrence, preserved separately
chunk-6 iTXt · byte 578 · 69 data bytesDescription: Synthetic café / 相機 A "quoted", multiline value.Uncompressed UTF-8; newline, quotation marks and comma remain
chunk-8 zTXt · byte 682 · 42 data bytesComment: Synthetic compressed commentZlib-decoded Latin-1 text after IDAT

Do not turn a failed text decode into an empty result

The structure inspector accepts up to 20 MiB and 4096 chunks. The all-text reader and editor have narrower PNG text limits: 10 MiB input, 32 fields, 256 KiB per field and 1 MiB total decoded text. A compressed field can hit its decoded limit even when its stored bytes are small.

If the browser cannot decompress text, that capability is unsupported. A corrupted stream or failed CRC is a failure, not an absent Comment. The editor reads text fields individually: an unmodified unsupported field can remain unknown and be copied verbatim, while replacing one requires an explicit choice. Do not delete or overwrite an unknown field merely to make the result look empty.

Use empty.png for a true missing-text control. The reader finds no embedded text there. That is a statement about the defined file, not a way to recover parameters that were never stored. The unknown aaAa chunk and unsigned caBX store in original.png also show why a four-text inventory is not an inventory of all metadata or a credential check.

Sources and reproducible inputs

  • Download the original four-text PNG — Project-authored 1 × 1 PNG, 748 bytes, nine chunks and four stored text occurrences. Includes a private ancillary chunk and an explicitly unsigned synthetic credential store. PNG structure fixture v1.
  • Download the PNG without metadata chunks — A defined copy containing IHDR, the same IDAT and IEND. It is a missing-text control, not another independent photograph.
  • W3C PNG Third Edition, 24 June 2025 — Fixed Recommendation: chunk layout, text encodings, ordering, CRC and animation structures. Our bounded tools implement the operations described here, not every conformance requirement.

Continue with your file