EXIF 查看与清除
看看你的相机往文件里写了什么 —— 包括你当时站在哪儿 —— 然后在分享之前把它删掉。
JPEG、PNG 或 WebP —— 支持批量
在你浏览器里解析并重写。不上传任何内容。
你的照片里藏着什么
相机或手机保存 JPEG 时,存的并不只是像素。它会往文件里写一段结构化元数据,描述这张照片是怎么拍出来的。这一段叫做 EXIF,绝大多数人从来没看过它。
它住在哪里,又装了些什么
EXIF 存放在 JPEG 的 APP1 标记段里,内部结构沿用和 TIFF 相同的标签体系——所以解析器都会提到 IFD(图像文件目录)。一张现代照片通常携带:
- 机身与镜头。 厂商、型号、镜头标识,部分机型还带序列号。
- 曝光参数。 光圈、快门、ISO、焦距、曝光补偿、测光模式、有没有开闪光灯。
- 时间戳。 快门开启的时刻,通常精确到秒,有时还有亚秒精度和另一个文件修改时间。
- 方向。 这是实用性最高的一条标签——它告诉查看软件该按哪个方向显示像素。
- 缩略图。 大多数 JPEG 会内嵌一张自己的小预览图,这正是有些"已清除"的文件仍会让人意外的原因。
- GPS 坐标。 纬度、经度、海拔,通常还有拍摄方向。
为什么唯独 GPS 那条要紧
其余都是细枝末节,坐标不是。一张在家里拍、带地理标记、然后公开发出去的照片,等于告诉陌生人你住在哪里——不是"大概哪个区",而是精确到米,在多数情况下足以锁定某一栋楼。
这个风险不是理论上的,也不需要有人专门盯上你。带地理标记的图片会被聚合、被抓取、被索引。真实发生过的案例,从记者无意中暴露消息源位置,到普通人无意中公开了贵重设备或孩子的所在地点,都有。
平台会帮你清掉吗
多数主流社交网络会重新压缩上传的图片,元数据作为副作用被丢弃,其中几家现在是有意清除。但这属于各平台的实现细节,历史上变过,而且不同上传入口还不一样。由此有两点结论:
第一,别指望它。今天会清除元数据的平台,明天可能加一个"原画质上传"选项——而原画质上传恰恰就是保留元数据的那种。
第二,直接发送文件是另一回事。用聊天软件的"以文件发送"或"原图"选项发照片,你发出去的是整个文件,元数据在里面。对方用任何一个免费工具都能读出来。
"清除"到底是什么意思
在导出对话框里勾掉元数据,和把文件重写到数据真的没了,这两者有明显区别。本工具的做法是把图像过一遍 canvas:像素被解码,元数据不会被带过去,然后写出一个全新的文件。输出里没有 EXIF 块,因为从来没有往里写过。
两点值得知道的注意事项。重新编码 JPEG 意味着重新压缩——请用高质量设置,并且接受这是一次有损往返;如果图像必须分毫不动,就导出成 PNG(代价是文件体积大幅上升)。另外,清掉 JPEG 的 EXIF,对别的格式的元数据毫无作用:PNG 有它自己的 tEXt 和 eXIf 数据块,WebP 和 TIFF 也各有各的。你打算分享哪个文件,就清哪个。
几个自己就能做的快速检查
把照片截个图,结果通常就没有 EXIF 了——因为截图是一次新的采集,不是原文件的副本,这也是为什么截图是最省事的"发干净图"的办法。但凡你在意的事情,还是检查一下再下结论:分享前把文件拖进来,重点看有没有出现 GPS 那一栏。
常见问题
清除 EXIF 会降低画质吗?
能只删 GPS、保留相机参数吗?
PNG 也有 EXIF 吗?
tEXt、zTXt 和现代的 eXIf 数据块,里面同样可能包含 GPS。清掉一个 JPEG 的元数据,不代表从它导出的 PNG 就是干净的,你实际要分享哪种格式就清哪种。