先说我踩的坑:一张租房图,差点把小区门口发出去
上周帮同事看他挂在闲鱼上的相机图。他嘴上说“我关定位了”,我把原图丢进 ExifTool 13.04,exiftool -a -G1 -s IMG_4821.HEIC,GPS 组里躺着 GPSLatitude 31 deg 14' 21.60 N、GPSLongitude 121 deg 28' 30.00 E,还有 GPSAltitude 12.3 m。这不是大概到城市,是直接指到路口。更麻烦的是,微信里那张“压缩图”GPS 没了,但 DateTimeOriginal 2024:08:17 18:42:11、Make Apple、Model iPhone 13 还在。
我后来拿三台设备做了个笨测试:iPhone 13(iOS 17.6)拍 HEIC,Redmi Note 12 Turbo(HyperOS 1.0.6,Android 14)拍 JPEG,再用微信 8.0.49 发原图、发普通图,最后用 ExifTool 逐个读。结论不复杂:只删 GPS,不等于删掉图片信息。图片信息至少分四层:文件系统时间、容器元数据(EXIF/XMP/IPTC/ICC)、像素层痕迹(缩略图、JPEG 量化表、传感器噪声)、平台层(URL 参数、CDN、二次编码)。大多数人只擦第一层信封,里面的笔迹和纸张纤维还在。
格式对比:JPEG、HEIC、PNG、WebP 谁藏得最多
我把同一场景拍完导进电脑,用 ExifTool 看组标签,差距挺明显。JPEG 最老实,EXIF 在 APP1(标记 0xFFE1),IPTC 常在 APP13,XMP 也塞在 APP1,理论上单段能到 64KB,很多相机内嵌缩略图就占 10-30KB。HEIC 是另一套,EXIF/XMP 都在,Live Photo 还会写 QuickTime 元数据,比如 com.apple.quicktime.location.ISO6709,值像 +31.2357-121.4805/。Windows 不装 HEVC 扩展,连属性都看不全。
PNG 常被误会“没信息”。2017 年后 PNG 有 eXIf 块,只是很多截图工具不写;但 tEXt、iTXt 文本块可能留下软件名。WebP 是 RIFF 容器,EXIF/XMP 可选,浏览器“另存为”经常直接剥掉,可一旦被编辑软件重新写入,照样带。GIF 基本没 EXIF,但注释块也能写东西。对普通用户,最该关注的不是格式名字,而是“这张图从相机到手机到平台,被谁重写过”。
| 格式 | 常见元数据 | 删除时的坑 | 平台兼容 |
|---|---|---|---|
| JPEG | EXIF、IPTC、XMP、ICC | 旧缩略图可能留旧版本 | 最好 |
| HEIC | EXIF、XMP、QuickTime | Windows 查看要扩展 | 微信/小红书常转码 |
| PNG | eXIf、tEXt、iTXt | 很多工具读不全 | 截图常用,体积大 |
| WebP | EXIF、XMP 可选 | 浏览器保存常被剥 | 网页多,编辑软件一般 |
怎么查:Windows、macOS、iPhone、安卓各一条路
Windows 最快是右键图片 > 属性 > 详细信息。相机型号、光圈、ISO、曝光时间、GPS 都可能在;如果“详细信息”里没有 GPS,不代表绝对没有,可能是资源管理器没读 HEIC 或 PNG 的块。想批量看,装 ExifTool,命令行敲 exiftool -a -G1 -s D:/photos,-a 显示重复标签,-G1 分组,-s 用短标签名,排查 GPS 很直观。
macOS 用预览打开图片,Cmd+I 调出检查器,切到 EXIF/GPS 面板。Spotlight 元数据也能查:mdls -name kMDItemLatitude -name kMDItemLongitude photo.jpg。iPhone 在照片 App 里上滑,或点 i,能看到地图和时间;但这里只能看,不能真正删原图 EXIF。安卓 Google Photos 是“更多 > 详细信息”,小米/三星相册叫“详情”。查得到和删得掉是两回事,别把查看面板当清理工具。
怎么删:别一键全删,先分清你要保什么
我现在的顺序是:先备份原图,再复制一份工作文件。只删定位:exiftool -gps:all= -overwrite_original photo.jpg。删 EXIF/XMP/IPTC 但尽量保 ICC:exiftool -EXIF:all= -XMP:all= -IPTC:all= -overwrite_original photo.jpg。全删是 exiftool -all= -overwrite_original photo.jpg,但 ICC 颜色配置也可能没,印刷或修图会偏色。批量处理用 -r,比如 exiftool -r -gps:all= -overwrite_original D:/photos。验证:exiftool -gps:all -a -G1 photo.jpg,没输出就说明 GPS 组干净了。
不想碰命令行,可以用 MAT2:mat2 --inplace photo.jpg,mat2 --show photo.jpg 先看再删。Windows 属性里的“删除属性和个人信息”会生成副本,不动原文件,适合只发一张。iPhone 分享时点“选项”,关掉“位置和所有照片数据”,能减少分享副本里的信息;想从源头断掉,去设置 > 隐私与安全性 > 定位服务 > 相机,选“永不”。安卓在相机设置里关“保存地理位置信息”,不同品牌叫法不一样,通常在相机 > 设置 > 水印/位置。
平台对比:微信原图、朋友圈、Telegram、网盘不是一回事
我实测最容易被误解的是微信。发“原图”时,文件传输助手下载回来,EXIF 里的型号、时间有时还在,GPS 要看机型和版本;发普通图片,宽高常被压到 1280 或 1600 长边,EXIF 基本被重写。朋友圈、小红书、微博这类信息流,上传后多半二次编码,GPS 大概率没了,但设备型号、拍摄时间、软件字符串不一定全没。Telegram 选“文件”发送,基本按原文件走;选“照片”会压缩。邮件附件、网盘同步、AirDrop 通常保留更多。
这里有个反直觉的点:平台说“已删除位置信息”,不等于它删了所有可关联信息。设备型号 + 镜头型号 + 拍摄时间 + 软件版本,组合起来能跨平台把同一个人串起来。如果再叠上像素层噪声,也就是常说的 PRNU 传感器指纹,哪怕没有 GPS,也能做一定程度的同源判断。普通人不做取证,但至少要知道:删 EXIF 是隐私下限,不是隐身。
我的建议:发图前分三档处理
第一档,只发工作图、截图、表情包:不用折腾,平台压缩后一般没啥可看。第二档,发家里、公司、孩子、车牌、窗外风景:至少删 GPS,保留 ICC,别用在线“EXIF 删除”网站,因为你把原图又上传给了别人。第三档,发二手、租房、证件、合同:直接复制一份,用 ExifTool 删 EXIF/XMP/IPTC,重命名成不含日期的文件名,再检查一遍 Software、DateTimeOriginal、GPS 三个组。
我最后留一句不太像教程的话:EXIF 像便利贴,缩略图像抽屉里的旧复印件,传感器噪声像纸张纤维。你可以撕掉便利贴,但别以为纸就变白了。真要发原图,先问自己一句——这张图经过谁的手?如果答案里有微信、微博、小红书、闲鱼,那就在本地先清一遍,别把希望全交给平台。