Skip to content
checkaifree

Practical guide

Edit one PNG text field without re-encoding its image data

Editing a stored text field should not silently replace the other occurrence with the same keyword. Select one chunk ID, stage a Unicode change, and download a new PNG whose untouched chunks and compressed image data were checked byte for byte.

18 October 2026 · Check AI Free

Know which operation this writer performs

The editor supports static PNG text chunks. It copies every unselected chunk verbatim and rewrites only staged text changes, without decoding or re-encoding pixels. The output is a new file; the disk original remains unchanged. This is a scoped text edit, not a claim that the file is anonymous or its credentials remain valid.

Use original.png or Try synthetic editable PNG. Its four text occurrences include duplicate Author fields, a Unicode Description and a compressed Comment after IDAT. The private aaAa chunk and unsigned caBX credential store also remain unless a different tool explicitly removes them. The editor does not execute saved workflow text or re-sign Content Credentials.

  • 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.

Replace only the first Author with Unicode

  1. Step 1

    Load the source and select an exact occurrence

    Open the PNG text editor and click Try synthetic editable PNG, or choose original.png. Expect four text chunks. Click Edit chunk-4. Its keyword is Author and Stored text is =1+1. The second Author is chunk-5; choosing a keyword alone would not distinguish the two.

    Open the PNG text editor

  2. Step 2

    Enter the defined replacement and select Auto

    Leave Keyword as Author. Replace Stored text with Synthetic café / 合成 author. Change Output text chunk to Auto: Latin-1 tEXt or Unicode iTXt. Editing the original tEXt leaves that old encoding selected until you change it; the Chinese characters require iTXt or Auto, not a forced Latin-1 output.

  3. Step 3

    Stage and review the change

    Click Stage replacement. Pending changes should be 1 and identify replace · chunk-4 → Author. If you selected the wrong occurrence, use Undo and choose it again. Draft text alone is not written; only staged operations are applied.

  4. Step 4

    Create and download the verified copy

    Click Create PNG from 1 staged changes. Wait for Edited PNG verified and Verified edited PNG. The result reports one applied operation, one IDAT chunk preserved byte for byte, valid output CRCs and changed text re-read. Click Download verified PNG to save edited-text.png.

Synthetic café / 合成 author

Reopen the actual output

  1. Step 1

    Read text from your download

    Choose edited-text.png in the PNG metadata reader. Verify both Author occurrences independently, plus the unchanged Description and decoded Comment. Download the first field if you need the exact Unicode text.

    Re-read the downloaded text

  2. Step 2

    Inspect the output ranges and CRCs

    Choose the same download in the PNG chunk inspector. Expect status valid, nine chunks and zero diagnostics. Chunk-4 is now iTXt with 42 data bytes; IDAT has moved because the earlier text chunk grew. An offset change is not an image-data change. The editor's byte comparison supplies the IDAT-preservation check; a matching length alone would not.

    Inspect the downloaded PNG structure

Reopen the actual output
CheckOriginalDefined edited output
File size / structure748 bytes; 9 chunks779 bytes; 9 chunks
First Author / chunk-4tEXt; =1+1iTXt; Synthetic café / 合成 author
Second Author / chunk-5Synthetic second authorSame value and original chunk bytes
IDAT11 payload bytes at offset 659Same original IDAT bytes at offset 690
Description, Comment, aaAa, caBXPresentOriginal chunks retained; offsets after the changed field can move
  • Download the defined Unicode-edited PNG — The first Author occurrence is replaced with Synthetic café / 合成 author using Auto encoding. Other chunks, including the second Author and IDAT, retain their original bytes.

Exercise add, delete and no-change branches

For deletion, select Stage deletion on the exact chunk row, review Pending changes and create a new copy. Deleting chunk-4 alone must leave the second Author. For addition, choose Switch to adding a new field after editing, or use the New text field form directly. Fill Keyword and Stored text, choose encoding and click Stage new field. New text chunks are inserted before IEND.

Choose empty.png to start with no text. The editor says no text chunks were found and still allows a new field. Creating a copy with zero staged operations instead returns an unchanged, verified copy. A missing field is not a failed edit, and a zero-operation copy is not reported as a metadata change.

Stop when the writer cannot verify a copy

Keywords must pass the editor's 1–79 Latin-1-byte validation. tEXt and zTXt require Latin-1 values; iTXt or Auto supports the Unicode exercise. Null bytes, malformed Unicode, unsupported compression, excessive fields or text sizes stop the affected operation. Compressed iTXt and zTXt output require browser compression support.

The editor rejects APNG animation, unknown critical chunks and invalid CRCs before writing. Choose animated.png to exercise the animation-signaling rejection, or bad-crc.png for the failed-CRC branch. Neither offers an edited success download. An unreadable unselected compressed field can be preserved verbatim; replacing it requires the explicit unreadable-field checkbox because its original text is unknown.

The limits are 10 MiB input/output, 32 text fields, 256 KiB per field, 1 MiB decoded text and 64 staged operations. If output re-reading, retained-chunk checks or IDAT comparison fail, no verified download is produced. Keep the warning and obtain an intact or supported input instead of treating the result as metadata-free.

  • Download the failed-CRC control — The inspector can show bounded diagnostic rows, while the writer refuses to edit it.
  • Download the two-frame animation failure control — Project-authored 4 × 3 APNG with two independently decoded frames, 100 ms per frame and an infinite loop. The text writer rejects animation before writing; the structure viewer lists its control and data chunks without playing it.
  • 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.

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 defined Unicode-edited PNG — The first Author occurrence is replaced with Synthetic café / 合成 author using Auto encoding. Other chunks, including the second Author and IDAT, retain their original bytes.
  • 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