多数 WebP 文件什么都不带。

把 WebP 拖到下面。它能不能装元数据,取决于它用的是 WebP 两种布局中的哪一种。

简单布局的 WebP 根本没地方放元数据

WebP 是一个 RIFF 文件:一个文件头,然后是一串块。简单布局只包含一个 VP8 块(有损)或 VP8L 块(无损),整个文件就这些。那套布局里没有可以放 EXIF 的位置——不是有个空位没填,而是根本没有。只有扩展布局才可能带元数据,它以一个 VP8X 块开头,块里的标志位声明这个文件还包含什么。

扩展布局能装什么

VP8X 为透明通道、动画、ICC 配置文件、EXIF 和 XMP 各设一个标志位,对应的块跟在后面。所以一个 WebP 要么在那个头里声明了自己的元数据,要么就是没有——这让 WebP 的读取结果比那些需要扫描标记的格式更加确定。在下方的标签表里,文件自身的 RIFF 块归在 WebP 分组下,而 EXIF 或 ICC 块各自单列一组——所以你能看出每个值究竟来自哪一个块。

WebP 文件通常从哪来

你遇到的大多数 WebP 是转换工具或 CDN 把 JPEG、PNG 转小之后的产物。这类流程往往在转换途中就丢掉了元数据,这正是为什么这么多 WebP 在这里读出来是空的。真带着 EXIF 的那些,一般是因为转换时被明确要求保留,而其中的相机信息来自原来那个 JPEG。

WebP 的结构

WebP 是一个 RIFF 文件,规范固定了它的块出现的顺序。VP8X 以下的一切只存在于扩展布局里;一个直接进入图像的文件没有地方存放它们。
RIFF 文件头VP8XICCPANIM / ANMFVP8 / VP8LEXIFXMP
  • 结构
  • 可以存放元数据
  • 图像本身

WebP 把东西放在哪里

VP8 / VP8L
图像本身,有损或无损。只有这一块的文件装不下任何元数据。
VP8X
扩展头。它的标志位声明下面存在哪些块。
EXIF
一个 EXIF 块,通常继承自被转换的那个文件。
XMP
XMP 数据包,编辑器写过时才有。
ICCP
一份 ICC 色彩配置文件。
ANIM / ANMF
动画控制与每一帧。重编码清理会把它压平。

关于 WebP

WebP 支持 EXIF 吗?展开

支持,但只在以 VP8X 块开头的扩展布局里。简单布局的 WebP 没有任何能装下它的结构,所以对某个具体文件来说答案是确定的,不需要靠扫描去猜。

我的 WebP 读不出元数据,是工具的问题吗?展开

几乎可以肯定不是。转换工具和 CDN 在生成 WebP 时惯常丢弃元数据,而简单布局的 WebP 本来就装不下。标签表仍会显示它确实具有的文件结构信息。

清理一个动图 WebP 会怎样?展开

它会变成单帧。重编码清理要重绘图像,而画布只保留一帧——所以动画在这里是实打实的代价,会在你点下按钮之前就说明,而不是事后才发现。

清理 WebP 是无损的吗?展开

不是。文件会以 WebP 重新编码,所以画质可能变化,哪怕原文件是无损的 VP8L。色彩配置文件也会和其他块一起被丢弃。

能做什么

删除 EXIF 数据
拖入一张照片,下载一份去掉嵌入元数据的副本。JPEG 无损删除 EXIF 段;HEIC、PNG、WebP 等格式通过重编码去除。文件不会上传。
删除 GPS 位置
先看清照片带着哪组坐标,再下载一份不含坐标的副本。JPEG 只去掉位置标签,其余信息原样保留。文件不会上传。
编辑 JPEG EXIF
修改 JPEG 的标题、作者、描述、版权、软件和拍摄时间,然后下载编辑后的副本。全部在本地完成,原文件不会被改动。
XMP、IPTC 与 ICC 查看
读取文件携带的每一个元数据分组 —— EXIF、XMP、IPTC、ICC、厂商备注 —— 分组呈现并可导出为 JSON。适用于素材质检、取证和排查处理流程。文件不会上传。
打开多张照片
一次打开最多五十张照片,看清哪些带有位置信息,并把整批导出成表格。全程不上传,原文件也从不被写入。