pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

Remove Metadata from a PNG

chunk-level strip · pixels untouched · lists what it removed · nothing uploaded

PNG files carry more than pixels: creation timestamps, software names, EXIF blocks copied in from a camera, colour profiles, and free-text comments that editors write without asking. This strips them at the chunk level and tells you exactly which ones it dropped and how many bytes that saved. The image data itself is passed through byte for byte.

Drop PNGs here

Real PNG files only · multiple allowed

    no files
    Ready.

    What is kept and what goes

    A PNG is a sequence of typed chunks. Kept unconditionally: IHDR (dimensions and bit depth), PLTE (palette), IDAT (the compressed pixels), IEND, plus tRNS, bKGD and sBIT, which affect how the image renders. Everything else is dropped — tEXt, iTXt and zTXt comments, tIME timestamps, eXIf blocks, pHYs resolution tags, and any private chunks an editor invented.

    Colour-management chunks sit in the middle and get their own switch. iCCP in particular is frequently the largest thing in a small PNG — an embedded ICC profile can be 3–8 KB. Dropping it makes the file noticeably smaller, and the image will then be interpreted as plain sRGB. For screenshots, UI assets and web graphics that's usually correct and often literally what the profile said anyway. For photography or print work where colour accuracy matters, leave the box ticked.

    What this is and isn't good for

    It's a genuine privacy measure: PNGs exported from phone editors and screenshot tools can carry EXIF with device details, and occasionally GPS coordinates. Stripping the chunks removes that information from the file completely, not just from what viewers display.

    It is not anonymisation of the image. Anything visible in the pixels is still visible. If the screenshot shows your username, or the photo shows your street, no metadata tool helps — use Pixelate or Crop for that.

    FAQ

    Does the image change at all?

    No. The IDAT chunks are copied through untouched, so the decoded pixels are bit-identical. This is not a re-encode.

    Why does it say "nothing to remove"?

    The file was already clean. Plenty of PNGs — anything written by a browser canvas, for instance — contain no ancillary chunks at all.

    It rejected my JPG. Why?

    This works on the PNG chunk structure specifically. JPEG stores metadata in APP segments, a different format entirely. Converting a JPG with JPG to PNG drops its metadata as a side effect, since the canvas re-encode only carries pixels across.

    How do I see what's in a file before stripping it?

    PNG chunk viewer lists every chunk with its size, and Inspector reads EXIF when present.

    Will colours shift if I drop the ICC profile?

    Possibly, if the profile wasn't sRGB — wide-gamut images can look flatter or duller. Compare with Image diff if it matters.