Local image workflow
PNG metadata tasks: read text, locate chunks and edit selected fields
Start with the result you need: the text a PNG stores, the chunk that holds it, or a new copy with a selected change. These are different operations, and each has a concrete output you can inspect before sharing.
18 October 2026 · Check AI Free
Choose an operation from the file you have
| Your task | Start here | Keep or check |
|---|---|---|
| Find saved text or a parameters/workflow field | PNG metadata reader | Each occurrence's original text, type, after-image-data label and decode status |
| Find where a field is stored | PNG chunk inspector | Type, byte offset, data/full length, before/after IDAT position and actual CRC diagnostic |
| Change or delete one repeated keyword | PNG text editor | Exact chunk ID, staged changes, verified new PNG and all untouched chunks |
| Remove whole metadata categories | Metadata remover | Chosen categories, ICC policy and the actual re-read download |
| Read an XMP packet or ICC profile stored in PNG | Dedicated XMP or ICC viewer | Supported packet/profile bytes and warnings, separate from plain text labels |
- Read saved PNG text — Bounded tEXt/iTXt/zTXt reading through IEND; field copy and download.
- Inspect PNG chunks and CRCs — A positional inventory without decoding image pixels or displaying private field values.
- Edit selected PNG text — Exact occurrence selection, staged operations and retained-IDAT byte verification.
- Remove whole metadata categories — A separate cleaning policy; editing one text field is not a full privacy cleanup.
- Read PNG XMP — XMP in supported iTXt storage, with original packet bytes.
- Extract PNG iCCP — Generated or real embedded profile bytes; no assumed color space when absent.
Three defined scenes, not three independent photographs
The scenes share one project-authored 1 × 1 PNG and its source-defined variants. They are a reproducible file-operation exercise, not a retention-rate study or an accuracy benchmark. Names, descriptions and the credential store are invented; the credential example is explicitly unsigned.
| Scene / input | Expected observed output | Decision |
|---|---|---|
| S-H03-ORIGINAL · original.png | 748 bytes, 9 chunks, 4 text occurrences; duplicate Author and compressed Comment after IDAT | Read all occurrences and locate the exact one you intend to change. |
| S-H03-EMPTY · empty.png | 3 chunks, no text; original IDAT retained | Keep the missing-text result; no prompt or model settings are inferred. |
| S-H03-EDITED · edited.png | 779 bytes, first Author becomes Unicode iTXt; second Author and IDAT bytes retained | Reopen the actual output; offsets can move while untouched bytes stay the same. |
- 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.
- 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 three-scene machine-readable summary — Exact byte lengths, SHA-256 and actual chunk/text readings from the source-defined inputs.
Carry one file through the workflow
Step 1
Read values before changing them
Choose original.png in the PNG metadata reader. Find the two Author occurrences, the multiline Unicode Description and the decoded Comment. Review stored text before copying or downloading it; a local report can reveal prompts or paths even when the image is not uploaded.
Step 2
Locate the outer chunks
Choose the same input in the chunk inspector. The first Author is chunk-4 at byte 513; IDAT is at byte 659; the Comment is chunk-8 at byte 682 after image data. Save Download structure JSON if you need the exact inventory. The aaAa and caBX rows show other storage that is not one of the four text fields.
Step 3
Stage one intentional edit
In the text editor click Edit chunk-4, set Stored text to Synthetic café / 合成 author and choose Auto output. Stage replacement, check Pending changes: 1 and click Create PNG from 1 staged changes. Download verified PNG only after the changed text, output CRCs and retained bytes have been checked.
Step 4
Reopen the file you will actually send
Inspect the downloaded edited-text.png in both text and chunk views. Confirm the new first Author, untouched second Author and valid structure. The editor verifies original IDAT bytes rather than regenerating pixels; it does not re-sign credentials or certify that private data is absent.
Use diagnostic controls without counting extra scenes
bad-crc.png is an intentionally corrupted version of the original, not another independent image. The inspector preserves nine safely bounded rows with one CRC mismatch; the writer refuses it. A truncated length can instead stop inspection early and leave a partial inventory. Keep that distinction when handing off a report.
APNG chunks can be listed by the inspector, but this text writer rejects animation rather than flattening it into a static output. Unknown critical chunks are also unsupported for editing. Compressed text without browser decompression support stays unsupported or unknown according to the reader; it does not become a successful no-text result.
Read limits depend on the operation. Structure inspection permits 20 MiB and 4096 units. Full PNG text reading and editing permit 10 MiB, 32 text fields, 256 KiB per field and 1 MiB decoded text. A valid CRC checks chunk integrity; it is not a creator, signature or file-safety verdict.
- Download the single-CRC diagnostic control — Known first-Author CRC corruption; not a fourth photographic scene.
- 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.
- Inspect JPEG marker ranges instead — APP ownership labels, scans and bytes after EOI use a different container walk.
- Inspect WebP RIFF structure instead — Actual chunk presence, padding and VP8X flags are reported separately.
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.
- 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.
- 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
- Inspect PNG text chunks, duplicate keywords and decoded values — Locate tEXt, zTXt and iTXt in a real PNG inventory, read duplicate Author values and Unicode text, and distinguish compression limits from missing parameters.
- Find PNG metadata stored after IDAT image data — Compare the same compressed Comment before and after IDAT, save real chunk offsets, and verify why a scan that stops at the first image-data chunk misses stored text.
- Edit one PNG text field without re-encoding its image data — Select an exact duplicate-keyword chunk, stage a Unicode replacement, create a verified PNG copy, and re-read its changed text, valid CRCs and preserved IDAT bytes.