User Rating 0.0
Total Usage 0 times
Drop PNG file here or click to browse Max 50 MB • PNG only
Is this tool helpful?

Your feedback helps us improve.

About

PNG files store metadata inside discrete binary chunks. The most common are tEXt chunks, each containing a keyword (e.g., Author, Description, Copyright) paired with a Latin-1 encoded string value, separated by a null byte (0x00). Getting metadata wrong has real consequences: incorrect copyright fields create legal ambiguity, missing Software tags break automated asset pipelines, and bloated ancillary chunks inflate file size without benefit. This tool parses the raw binary structure of your PNG, extracts every ancillary text chunk, and lets you edit, add, or delete entries before reconstructing a valid file with correct CRC32 checksums. It operates entirely in-browser. No upload occurs. The tool assumes well-formed PNG files conforming to ISO/IEC 15948 (PNG specification). Malformed or truncated files will be rejected at the signature check stage.

png metadata editor png text chunks image metadata exif png tEXt chunk editor png info editor

Formulas

Every PNG chunk follows a fixed 12-byte envelope structure plus its data payload:

Chunk = Length (4 bytes) + Type (4 bytes) + Data (Length bytes) + CRC (4 bytes)

The CRC32 checksum covers the Type and Data fields combined:

CRC = crc32(Type + Data)

A tEXt chunk stores its payload as:

Data = Keyword + 0x00 + TextString

Where Keyword is 1 - 79 bytes of Latin-1 text, 0x00 is the null separator, and TextString is the value (zero or more Latin-1 bytes). The file signature is a fixed 8-byte sequence: 137 80 78 71 13 10 26 10 (decimal), which this tool validates before any parsing occurs.

Reference Data

Chunk TypeCategoryCriticalDescription
IHDRHeaderYesImage dimensions, bit depth, color type
PLTEPaletteYesColor palette for indexed-color images
IDATDataYesCompressed image data (deflate)
IENDTrailerYesMarks end of PNG datastream
tEXtTextNoLatin-1 keyword - value pair, uncompressed
zTXtTextNoCompressed text (deflate), Latin-1 keyword
iTXtTextNoInternational text, UTF-8 encoded
tIMETimeNoLast modification time (UTC)
gAMAColorNoImage gamma (100000 × gamma value)
cHRMColorNoPrimary chromaticities and white point
sRGBColorNoStandard RGB color space rendering intent
iCCPColorNoEmbedded ICC profile (compressed)
bKGDDisplayNoDefault background color
pHYsDisplayNoPhysical pixel dimensions (DPI)
sBITDisplayNoSignificant bits per channel
sPLTPaletteNoSuggested palette for color reduction
hISTStatsNoHistogram of palette usage
tRNSTransparencyNoTransparency info for palette/grayscale
eXIfEXIFNoExchangeable image file format data

Frequently Asked Questions

ISO/IEC 15948 defines these registered keywords for tEXt chunks: Title, Author, Description, Copyright, Creation Time, Software, Disclaimer, Warning, Source, and Comment. You can also use custom keywords up to 79 bytes long, but standard tools may not display them.
No. This tool operates at the binary chunk level. It reads the raw IDAT (compressed pixel data) chunks and copies them byte-for-byte into the output file. No decompression, re-rendering, or re-encoding of pixel data occurs. The output is bit-identical to the input for all critical chunks.
A CRC32 mismatch means the stored checksum in a chunk does not match the computed value over its Type + Data fields. This typically indicates file corruption during transfer (partial download, disk error) or a non-conforming encoder. This tool will warn you but still attempt to parse the file. Edited chunks will always have correct CRC32 values in the output.
tEXt stores uncompressed Latin-1 text. zTXt stores deflate-compressed Latin-1 text (useful for large comments). iTXt stores UTF-8 international text with optional compression and language tags. This tool reads all three types but writes new/edited entries as tEXt for maximum compatibility. Original zTXt and iTXt chunks that are not edited are preserved as-is.
The PNG specification imposes no hard limit on text chunk data length. However, the chunk length field is a 4-byte unsigned integer, giving a theoretical maximum of 2,147,483,647 bytes per chunk (the spec restricts to 231 − 1). In practice, keep metadata values under a few kilobytes. Extremely large text chunks slow down decoders and may be silently dropped by some software.
Typically, text metadata accounts for a negligible fraction of PNG file size (a few hundred bytes). The bulk is IDAT compressed pixel data. Removing metadata might save 0.01 - 0.1% of total size. The exception is files with embedded ICC profiles (iCCP chunks), which can be 2 - 60 KB. This tool only modifies text chunks, not iCCP.