WebP metadata lives in optional RIFF chunks named EXIF, XMP and ICCP, and only a WebP in the extended format can carry them. A plain lossy or lossless WebP is a single image chunk with no room for anything else. That is why most WebP files on the web show no EXIF at all: the encoder chose the simple layout, or was told to drop metadata, which for the reference encoder is the default.
Simple and extended WebP
A WebP file starts with RIFF, a 32-bit little-endian size, and WEBP. Then come chunks, each a FourCC, a size and data padded to an even length. The FourCCs are exactly four bytes, so two of them end in a space: VP8 for lossy data and XMP for XMP.
The simple formats are one VP8 or VP8L (lossless) chunk and nothing else. The extended format adds a VP8X chunk first, whose flag byte announces what follows: ICC (0x20), alpha (0x10), EXIF (0x08), XMP (0x04), animation (0x02). ExifTool switches between the two layouts on its own:
$ convert full.jpg -resize 960x -strip -quality 80 small.webp
$ exiftool -v1 small.webp | grep '^RIFF'
RIFF 'VP8 ' chunk (11496 bytes of data):
$ exiftool -q -XMP-dc:Rights="© 2026 Jane Doe" small.webp
$ exiftool -v1 small.webp | grep '^RIFF'
RIFF 'VP8X' chunk (10 bytes of data):
RIFF 'VP8 ' chunk (11496 bytes of data):
RIFF 'XMP ' chunk (2870 bytes of data):The image chunk is untouched; only the container around it changes. Running exiftool -all= on that file brings it back to the lone VP8 chunk.
What the WebP EXIF chunk holds
Converting the same Canon EOS RP JPEG at full size with ImageMagick 6.9.12 gave a VP8X with flags 0x2C (ICC, EXIF and XMP), then ICCP (9,012 bytes), VP8L (622,004 bytes), EXIF (16,202 bytes) and XMP (42,639 bytes). Metadata was almost 10% of the file.
The EXIF chunk is a bare TIFF structure: in this file the payload starts directly with II*\0, without the Exif\0\0 prefix found in JPEG. Everything a camera writes in JPEG can be there, GPS coordinates and maker notes included (the Canon maker notes survived this conversion), so WebP EXIF deserves the same privacy check as the original photo.
IPTC has no chunk. The By-line and CopyrightNotice in the source JPEG were simply dropped by ImageMagick, and ExifTool will not add IPTC either: the attempt ends with 0 image files updated and 1 image files unchanged. Use the XMP equivalents (dc:creator, dc:rights); the IPTC Core schema is defined in XMP anyway. The C2PA specification adds its own C2PA chunk at the end of the RIFF data.
Where WebP metadata gets lost
Most WebP files are produced by a conversion step, and that step decides.
- cwebp, the reference encoder, has
-metadatawith values all, none, exif, icc and xmp. The default is none. - ImageMagick copies EXIF, XMP and ICC by default, and drops IPTC.
- Pillow 10.2 re-saving an iPhone JPEG as WebP kept nothing, not even the color profile, unless
exif=andicc_profile=were passed explicitly. - Cloudflare image transformations discard all metadata for every output format except JPEG, whatever the
metadatasetting says.
A missing ICC profile is the side effect people notice. Display P3 photos from a phone turn duller once converted without one, and that looks like a WebP problem when it is a metadata problem.
Checking and removing WebP EXIF
Upload a WebP to the EXIF reader to see camera, rights and GPS fields, or to the metadata remover to strip them. Editing WebP is not supported here. With ExifTool, XMP and EXIF tags are writable:
exiftool -EXIF:Artist="Jane Doe" -XMP-dc:Creator="Jane Doe" photo.webpA full strip of the ImageMagick file left only the VP8L chunk and shrank it from 689,920 to 622,024 bytes. ExifTool warned ICC_Profile deleted. Image colors may be affected, and the same applies to the Orientation tag: if a converter stored the pixels sideways and relied on Orientation, the stripped image displays rotated.