Images & photos · Image Metadata Privacy Tool
How WebP Stores EXIF and XMP in RIFF Chunks, and How to Strip Them
· How it works
exif image-privacy file-formats
WebP wraps its image data in a RIFF container, and the extended format can carry EXIF and XMP chunks alongside the picture. This post explains the container, the flags in the VP8X header, and what a browser tool has to do to strip metadata cleanly.
The WebP that still had GPS in it — why converting a JPEG to WebP does not automatically drop its metadata
Converting a source photograph to WebP does not prove its GPS or editing metadata disappeared. Extended WebP can carry an EXIF chunk containing a TIFF block and an XMP chunk beside the compressed picture. ToolAcre reads EXIF fields, reports an XMP packet as present without parsing its XML and removes both from a cleaned copy.
RIFF in brief — the 'RIFF' header, the 'WEBP' form type, four-character chunk names, little-endian sizes and even-byte padding
WebP uses a RIFF container: the file starts with RIFF, carries a little-endian size and identifies the form as WEBP. Each following chunk has a four-character name, a little-endian payload size and an optional pad byte when that payload length is odd. The walker respects that padding so the next chunk begins at the correct boundary.
Simple vs extended WebP — why a plain 'VP8 ' or 'VP8L' file cannot carry metadata, and how 'VP8X' adds flag bits for ICC, alpha, EXIF, XMP and animation
A simple WebP may contain a VP8 or VP8L image chunk, while extended files use VP8X to declare features such as metadata, colour profiles or animation. The cleaner does not convert one coding mode into another. It walks whichever chunks are present, preserves image and animation chunks, and modifies only the container details needed after metadata is removed.
The EXIF and 'XMP ' chunks — a TIFF-structured EXIF block and an XMP packet stored as sibling chunks of the image data
The EXIF FourCC contains the TIFF data consumed by the shared EXIF reader. XMP uses the four-character name XMP followed by a space; the space is part of the chunk identifier. The reader does not interpret that packet, but it reports that XMP may contain author, location or editing history so presence is not mistaken for a harmless unknown block.
What stripping has to get right — removing the chunks, clearing the matching VP8X flag bits and rewriting the RIFF size so the file stays valid
Removing the chunks is only half the WebP repair. VP8X has presence bits announcing EXIF and XMP, so those bits must be cleared after their chunks go, and RIFF’s size field must be rewritten for the shorter container. The implementation performs both operations while retaining ICCP and copying VP8 or VP8L image data byte for byte.
Worked example: a converted product photo — inspecting it, stripping, and confirming the lossy or lossless image chunk is byte-identical
A converted product image provides a useful check: inspect it, record any GPS fields and note whether an XMP packet is present. Strip it, verify that those chunks no longer appear and compare the image chunk bytes. The test suite requires the EXIF flag to clear, ICCP to remain and the declared RIFF size to equal the actual cleaned length.
What this does not cover — animated WebP frames and ICC profile decisions; the tool page documents how it treats them
The tool keeps ICCP because removing a colour profile can visibly shift colours, and it keeps ANIM and ANMF chunks rather than flattening animation. It does not interpret XMP content, find steganography in compressed picture data or clean HEIC, AVIF and other unsupported containers. These are stated limits rather than silent fallbacks.
Takeaway: WebP metadata is a chunk, not a mystery — the Image Metadata Privacy Tool removes it without re-encoding the image
WebP metadata is a container feature with specific structural bookkeeping, not a mysterious property of the pixels. Removing EXIF and XMP, clearing their VP8X flags and updating RIFF size is sufficient for the supported scope. Because the image chunk is not decoded, the cleaned copy preserves the picture data while making its narrower privacy claim inspectable.