Change PNG Metadata
Edit, add, or remove PNG metadata text chunks (tEXt, iTXt) directly in your browser. View IHDR info, modify fields, and download the updated file.
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.
Formulas
Every PNG chunk follows a fixed 12-byte envelope structure plus its data payload:
The CRC32 checksum covers the Type and Data fields combined:
A tEXt chunk stores its payload as:
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 Type | Category | Critical | Description |
|---|---|---|---|
| IHDR | Header | Yes | Image dimensions, bit depth, color type |
| PLTE | Palette | Yes | Color palette for indexed-color images |
| IDAT | Data | Yes | Compressed image data (deflate) |
| IEND | Trailer | Yes | Marks end of PNG datastream |
| tEXt | Text | No | Latin-1 keyword - value pair, uncompressed |
| zTXt | Text | No | Compressed text (deflate), Latin-1 keyword |
| iTXt | Text | No | International text, UTF-8 encoded |
| tIME | Time | No | Last modification time (UTC) |
| gAMA | Color | No | Image gamma (100000 × gamma value) |
| cHRM | Color | No | Primary chromaticities and white point |
| sRGB | Color | No | Standard RGB color space rendering intent |
| iCCP | Color | No | Embedded ICC profile (compressed) |
| bKGD | Display | No | Default background color |
| pHYs | Display | No | Physical pixel dimensions (DPI) |
| sBIT | Display | No | Significant bits per channel |
| sPLT | Palette | No | Suggested palette for color reduction |
| hIST | Stats | No | Histogram of palette usage |
| tRNS | Transparency | No | Transparency info for palette/grayscale |
| eXIf | EXIF | No | Exchangeable image file format data |