EXIF 查看与清除

看看你的相机往文件里写了什么 —— 包括你当时站在哪儿 —— 然后在分享之前把它删掉。

把照片拖到这里

JPEG、PNG 或 WebP —— 支持批量

在你浏览器里解析并重写。不上传任何内容。

你的照片里藏着什么

相机或手机保存 JPEG 时,存的并不只是像素。它会往文件里写一段结构化元数据,描述这张照片是怎么拍出来的。这一段叫做 EXIF,绝大多数人从来没看过它。

它住在哪里,又装了些什么

EXIF 存放在 JPEG 的 APP1 标记段里,内部结构沿用和 TIFF 相同的标签体系——所以解析器都会提到 IFD(图像文件目录)。一张现代照片通常携带:

  • 机身与镜头。 厂商、型号、镜头标识,部分机型还带序列号。
  • 曝光参数。 光圈、快门、ISO、焦距、曝光补偿、测光模式、有没有开闪光灯。
  • 时间戳。 快门开启的时刻,通常精确到秒,有时还有亚秒精度和另一个文件修改时间。
  • 方向。 这是实用性最高的一条标签——它告诉查看软件该按哪个方向显示像素。
  • 缩略图。 大多数 JPEG 会内嵌一张自己的小预览图,这正是有些"已清除"的文件仍会让人意外的原因。
  • GPS 坐标。 纬度、经度、海拔,通常还有拍摄方向。

为什么唯独 GPS 那条要紧

其余都是细枝末节,坐标不是。一张在家里拍、带地理标记、然后公开发出去的照片,等于告诉陌生人你住在哪里——不是"大概哪个区",而是精确到米,在多数情况下足以锁定某一栋楼。

这个风险不是理论上的,也不需要有人专门盯上你。带地理标记的图片会被聚合、被抓取、被索引。真实发生过的案例,从记者无意中暴露消息源位置,到普通人无意中公开了贵重设备或孩子的所在地点,都有。

平台会帮你清掉吗

多数主流社交网络会重新压缩上传的图片,元数据作为副作用被丢弃,其中几家现在是有意清除。但这属于各平台的实现细节,历史上变过,而且不同上传入口还不一样。由此有两点结论:

第一,别指望它。今天会清除元数据的平台,明天可能加一个"原画质上传"选项——而原画质上传恰恰就是保留元数据的那种。

第二,直接发送文件是另一回事。用聊天软件的"以文件发送"或"原图"选项发照片,你发出去的是整个文件,元数据在里面。对方用任何一个免费工具都能读出来。

"清除"到底是什么意思

在导出对话框里勾掉元数据,和把文件重写到数据真的没了,这两者有明显区别。本工具的做法是把图像过一遍 canvas:像素被解码,元数据不会被带过去,然后写出一个全新的文件。输出里没有 EXIF 块,因为从来没有往里写过。

两点值得知道的注意事项。重新编码 JPEG 意味着重新压缩——请用高质量设置,并且接受这是一次有损往返;如果图像必须分毫不动,就导出成 PNG(代价是文件体积大幅上升)。另外,清掉 JPEG 的 EXIF,对别的格式的元数据毫无作用:PNG 有它自己的 tEXteXIf 数据块,WebP 和 TIFF 也各有各的。你打算分享哪个文件,就清哪个。

几个自己就能做的快速检查

把照片截个图,结果通常就没有 EXIF 了——因为截图是一次新的采集,不是原文件的副本,这也是为什么截图是最省事的"发干净图"的办法。但凡你在意的事情,还是检查一下再下结论:分享前把文件拖进来,重点看有没有出现 GPS 那一栏。

常见问题

清除 EXIF 会降低画质吗?
清除这个动作本身不会,但这里采用的方法——把像素解码再重新编码——对 JPEG 来说是一次有损往返。用高质量设置,多数用途下看不出差别。如果文件必须逐字节保持原样,请用只重写 APP1 段、不重新编码的工具来移除元数据。
能只删 GPS、保留相机参数吗?
只改个别标签、其余原样保留,需要重写一个 EXIF 块,本工具不做这件事——它要么读出全部,要么产出一个什么都没有的文件。如果你想留着曝光数据做自己的记录,那就保留原图,只分享清除过的副本。
PNG 也有 EXIF 吗?
PNG 用的是另一套数据块结构,但答案是肯定的——它可以携带 tEXtzTXt 和现代的 eXIf 数据块,里面同样可能包含 GPS。清掉一个 JPEG 的元数据,不代表从它导出的 PNG 就是干净的,你实际要分享哪种格式就清哪种。
为什么清完元数据,照片方向变了?
因为方向信息原本是存在标签里的,没有被烧进像素排列顺序。标签一没,查看软件就退回原始像素布局。用"把方向应用到像素上"的方式重新编码——本工具正是这么做的——图片在任何地方看起来就都是正的。
读取别人照片的 EXIF 合法吗?
读取一个你已经拿到的文件里的元数据,通常只是好奇心问题,不涉及法律——但你拿结果去做什么,就另当别论了。在对方不知情的情况下,用位置信息去识别或追踪一个人,会引发明显的隐私问题,在某些司法辖区还会触及法律。请只对自己拍的照片用这个工具。