上周三晚上十一点多,我蹲在电脑前帮朋友查一张图。她在闲鱼卖二手包,拍图的时候顺手把包放在飘窗上,背景是小区的楼。第二天有人私信问她「你们小区物业费多少」。她把截图发我,我说你别慌,先把原图传过来。原图导进 exiftool 跑了一遍,经纬度、拍摄时间、iPhone 机型、系统版本,一条不落躺在里面。那个坐标换算成十进制是 31.2xxxx, 121.4xxxx,精度到小数点后六位,大概只差没把门牌号写上去。
这件事之后我自己也翻了一遍。图片信息这东西,大多数人以为就是「看看分辨率」「看看体积」,实际上它至少分三层:像素层,就是你眼睛看到的画面;容器层,是 JPEG/PNG/HEIC 这些格式自己的参数,比如压缩质量、色度抽样是 4:2:0 还是 4:4:4、颜色空间是 sRGB 还是 Display P3;还有一层是元数据层,EXIF、XMP、IPTC、ICC Profile 全挂在这儿。前两层出问题顶多是画质糊了,第三层出问题,是你家门朝哪边开。
我扒了自己 3127 张照片,数据比想象中难看
我把硬盘里攒了七八年的照片塞进一个文件夹,跑了一条 exiftool -csv -r ./ > meta.csv,然后拉进表格筛。结果挺有意思。
总共 3127 张(含截图和下载来的图),其中带完整 EXIF 的相机/手机原片是 1846 张。这 1846 张里带 GPS 坐标的 1103 张,差不多六成。带机身序列号的 742 张——这个字段比坐标还讨厌,因为它能把不同平台上发过的「你」串成一条线。另外有 219 张是屏幕截图,没 GPS,但 Software 字段里明写着 iOS 17.4.1 之类的系统版本。
最让我意外的是时间戳。有 400 多张是同一秒或间隔不到 0.01 秒的连拍,但我印象里从没开过连拍。查了一圈才想起来,是某次用第三方相机 App 拍的,它把毫秒精度写进了 SubSecTimeOriginal 字段。也就是说,除了「哪年哪月哪日拍的」,它还记得「快门按下的第几毫秒」。
那个让 90% 教程翻车的坐标偏移
这里有个几乎没人提的坑:EXIF 里存的是 WGS-84 坐标系,国内地图 App 用的不是这个。
高德、腾讯是 GCJ-02(俗称火星坐标系),百度是 BD-09,在 GCJ-02 基础上又偏一次。你把 EXIF 里的原始坐标直接粘进高德搜索框,落点是错的。偏多少?各地不一样,城区一般几十米到几百米都有。我在上海市中心拿一张带 GPS 的原片试过,落点直接跳到隔壁街区,直线差大概三四百米。所以网上一堆「从照片找到拍摄地」的教程,其实找的是个偏移过的假位置。
exiftool 会直接吐给你 -GPSPosition 的十进制度数,不用自己算。真要手动验算,公式是:纬度 = 度 + 分/60 + 秒/3600。比如 31 deg 13' 43.2" N,就是 31 + 13/60 + 43.2/3600 = 31.2286。但算完了它还是 WGS-84,地图上照样偏。这就是为什么有人照着教程定位,最后定位到了马路对面的便利店。
发出去之后,图里还剩多少信息
我拿同一张原图(带 GPS、机型、序列号)走了一遍各家,再用 exiftool 对比。先声明:样本就我一个人,测量时间大概 2024 年底,平台改版很勤,结论随时可能失效,别当审计报告看。
- 微信聊天不勾「原图」:长边压到 1000 像素出头,体积从 4.2MB 掉到 300KB 上下,GPS 没了,机身序列号没了,拍摄时间有时候还能捞到。
- 微信勾「原图」:体积基本不动,但 GPS 是不是留着我测下来不太稳定,不同版本表现不一样。所以别把微信当脱敏工具,这是重点。
- 朋友圈:必压,我这批样本里 GPS 和机身信息清得挺干净。
- iMessage / AirDrop:原样传,一条不少。这也是为什么「隔空投送给朋友」和「发微信给朋友」,隐私后果完全是两回事。
- Telegram 发「文件」:完整保留。发「照片」:压缩 + 剥离。
- Instagram:GPS 从 2012 年起就剥掉了,但会保留一部分相机参数。
- 小红书、闲鱼这类:压缩很厉害,具体剥离哪些字段我没系统测过,不敢乱说。
顺带一句,截图不等于安全。分享截图的时候,那串 Software 字段(系统版本号)能暴露你的设备新旧,对搞社工的人来说也是线索。
查看方法:五种,按你手头设备挑
- Windows:右键图片 → 属性 → 详细信息。就几十个常见字段,GPS 要往下滚。想看全的还是上 exiftool。
- macOS:选中图按 ⌘I 打开「显示简介」,展开「更多信息」。比 Windows 全一点,也就那样。
- iOS:照片 App 打开图,点下面的 ⓘ 或往上滑。iOS 15 之后能看到时间、地点、机型、镜头、快门光圈 ISO,点地点还能直接跳地图。
- Android:Google 相册里上滑;不少国产 ROM 的相册也有「详情」,但字段翻译得乱七八糟,有的把光圈直接写成「光圈值」,有的干脆不显示。
- 命令行(推荐):
exiftool photo.jpg。想看得有结构一点用exiftool -a -G1 -s photo.jpg,-G1 会按来源分组,告诉你哪个字段属于 EXIF、哪个属于 XMP、哪个是文件系统层的。排查「为什么删了还在」的时候这个特别有用。
清除:别用属性面板那个按钮,它删不干净
Windows 属性里那个「删除属性和个人信息」能删掉一部分,但删不掉 XMP,也删不掉内嵌缩略图。对,很多相机在 EXIF 里塞了一张小缩略图,你只改元数据不改像素,缩略图里可能还留着原图。
稳妥的做法是走 exiftool:
# 安装
brew install exiftool # macOS
sudo apt install libimage-exiftool-perl # Debian / Ubuntu

# 先看一遍,别急着删
exiftool -a -G1 photo.jpg
# 全删,但保留 ICC 颜色配置
exiftool -all= -tagsfromfile @ -icc_profile -overwrite_original photo.jpg
# 批量处理整个目录
exiftool -all= -tagsfromfile @ -icc_profile -overwrite_original -r ./photos/
# 只删 GPS,其他留着(摄影师想保留版权信息的话)
exiftool -gps:all= -overwrite_original photo.jpg
为什么非要保留 ICC?有些图带 Display P3 的 ICC Profile,全删之后部分软件会当成 sRGB 处理,红色会变得特别艳。我自己踩过这个坑——一批商品图删完元数据,网页上看还行,导进 Photoshop 颜色就不对了,找了大半天才反应过来是 ICC 被一起删了。
我的观点可能跟大多数人相反
聊「图片信息」的时候,大部分人问的是「怎么删」。但我觉得更该问的是「哪些信息本来就不该被记录」。
手机相机默认开着地理位置,这个开关很多人一次都没关过。iPhone 可以在「设置 → 隐私与安全性 → 定位服务 → 相机」里改成「永不」,需要的时候临时开。Android 各家路径不一样,一般在相机 App 设置里就有「保存位置信息」的开关。这一步做了,比事后删元数据省事一百倍。
另一个方向是,元数据本身是有用的。摄影师的版权信息、新闻图片的拍摄参数,还有现在 C2PA(Adobe 2021 年牵头搞的内容凭证标准,徕卡 M11-P、索尼 a9 III、尼康 Z9 这些机器已经支持写入)——这些都是在给图片「加信息」,用来对抗 AI 生成和图片篡改。所以元数据不是坏东西,坏的是你不知道它在,也不知道它一路在传。
我现在的习惯是发图前跑一遍 exiftool -GPSPosition,有坐标就单独删那一项,其他参数留着。多花三秒钟,少一个被人顺着网线摸到楼下的可能。