PNG Metadata Changer

Rebuilds a PNG's byte stream to set a single tEXt metadata field: any existing tEXt chunk with the same keyword is dropped, a fresh tEXt chunk is built per the PNG spec's Latin-1 text-chunk format with a freshly computed CRC-32, and it's inserted right before the first IDAT chunk. Every other chunk — image data, palette, transparency, and any other existing metadata — is copied through byte-for-byte unchanged. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

This tool lets you add or update a piece of text metadata on a PNG file — like an author name, description, or copyright note — right in your browser.

It writes a standard tEXt chunk that any PNG-aware image viewer or tool can read back.

What Is PNG Metadata Changer?

A byte-level PNG chunk editor that sets a single tEXt metadata field by keyword, following the PNG specification's standard uncompressed Latin-1 text-chunk format.

It's the counterpart to PNG Text Extractor and PNG Text Remover: this one writes a field instead of reading or deleting one.

How PNG Metadata Changer Works

The keyword you enter is validated against the PNG spec's rules (1-79 printable Latin-1 characters), then encoded together with the text into a fresh tEXt chunk with a freshly computed CRC-32.

The file's existing chunk stream is walked; any prior tEXt chunk with the same keyword is dropped, the new chunk is inserted right before the first IDAT chunk (the conventional position for text metadata), and every other chunk is copied through unchanged.

When To Use PNG Metadata Changer

Use it to add an author credit, a short description, a copyright line, or any other simple text note to a PNG before distributing it.

It's also useful for testing how other tools (like PNG Text Extractor) read back tEXt metadata you control precisely.

Features

Advantages

  • Runs entirely client-side; the uploaded file is never sent to a server.
  • Follows the PNG spec's exact tEXt chunk format, so the result is readable by any standard-compliant PNG tool.
  • Replaces an existing field with the same keyword instead of creating duplicates.

Limitations

  • Only writes uncompressed Latin-1 tEXt chunks (not zTXt or UTF-8 iTXt), so non-Latin-1 characters in the text are replaced with a '?' fallback.
  • Requires the source file to have at least one IDAT chunk to have somewhere conventional to insert the new metadata.

Examples

Setting an author field

Input

keyword: "Author", text: "Ada Lovelace"

Output

A PNG with a tEXt chunk: Author -> Ada Lovelace, inserted before IDAT.

The new chunk is validated, CRC-32'd, and spliced in right before the compressed image data.

Replacing an existing field

Input

A PNG with an existing tEXt "Author" chunk set to "Unknown", new text: "Grace Hopper"

Output

A PNG with a single tEXt "Author" chunk now reading "Grace Hopper".

The old chunk with the matching keyword is dropped before the new one is inserted.

Best Practices & Notes

Best Practices

  • Use standard keywords like "Author", "Description", "Copyright", or "Software" for the widest compatibility with other tools.
  • Verify the write with PNG Text Extractor afterward if you need to confirm the exact bytes that landed.

Developer Notes

The lib function hand-builds a tEXt chunk (keyword + null separator + Latin-1 text) with a from-scratch CRC-32 implementation matching the PNG spec, walks the existing chunk stream dropping any same-keyword tEXt chunk, and splices the new chunk in immediately before the first IDAT chunk encountered — every other chunk is copied through byte-for-byte.

PNG Metadata Changer Use Cases

  • Adding an author or copyright credit to a PNG before publishing
  • Tagging exported assets with a short description field
  • Testing round-trip metadata reading with PNG Text Extractor

Common Mistakes

  • Entering a keyword longer than 79 characters or containing control characters, which the PNG spec (and this tool) rejects.
  • Expecting non-Latin-1 characters (like emoji or many non-European scripts) to round-trip exactly — tEXt is Latin-1 only, and unsupported characters become '?'.

Tips

  • Keep keywords short and conventional (Author, Description, Copyright) so other tools recognize them.
  • If you need Unicode text support, note that this writes plain Latin-1 tEXt, not UTF-8 iTXt.

References

Frequently Asked Questions