起因是自己发小红书时发现:平台会读取图片里的 EXIF 元数据。iPhone 截图会带一个 UserComment = Screenshot 的标记、而且没有任何相机型号信息——这种"有时间戳、却没有相机 Make/Model"的组合,一眼就能看出不是真机直出。AI 生成图同理,元数据往往很可疑。
我想在发图前先搞清楚:我这张图到底带了什么信息?能不能清掉隐私(定位、设备、时间),或者补成一张正常的 拍摄照片?
市面上的工具要么得装软件,要么要把图片上传到别人服务器(处理隐私图片总归不放心)。就自己写了个纯前端 的,分享一下。
它能做三件事:
- 选图后,先把这张图当前的元数据全列出来——格式、尺寸、拍摄时间、相机品牌型号、GPS 、镜头/光圈/ISO, 以及是否带截图标记、有没有 XMP / ICC 。一眼看清这张图"暴露"了什么。
- 彻底清除:把所有元数据抹干净。
- 编辑相机信息:把图片转成 JPEG 并写入一套完整的相机 EXIF(机型 / 拍摄参数 / 时间 / 可选定位),支持批量。
几个技术上还算有意思的点:
- 纯前端,单个 HTML 文件,图片全程不上传服务器,断网也能用(canvas 重绘 + 内联 piexifjs)。不放心的话可以把页面另存到本地断网跑。
- 读 PNG 元数据踩了个坑:piexifjs 只认 JPEG,读不了 PNG 截图里的 eXIf / iTXt chunk 。最后自己写了个最小 TIFF/EXIF 解析器(约 60 行),PNG 和 JPEG 一套代码都能读。
- 无构建、无后端,丢任意静态托管就能跑。
说清楚局限(免得误会):
- 它只处理元数据层,不改动画面像素本身。如果平台用的是像素级的 AI 图内容识别(分析画面内容),改元数据没有用。
- 它不保证任何"效果",只是让你对自己图片的元数据有知情权和掌控权。
在线试用(纯前端,选了图也不会上传): https://gongfang.app/exif-editor/
第一版,欢迎拍砖,尤其是 EXIF 解析在你手机图片上有没有翻车。