EXIF / PNG / WebP 元数据编辑器

纯本地处理的在线元数据编辑器,直接操作图片二进制结构。 JPEG:支持删除 GPS 定位删除个人信息(Artist / Copyright / 序列号)、 删除 MakerNote删除缩略图删除软件信息修改拍摄时间一键清除全部 EXIFPNG:支持清理 tEXt / zTXt(自动解压)/ iTXt(含压缩 iTXt 自动解压)文本元数据(Software / Author / Copyright / Description 等)、 修改 tIME 时间清除 eXIf chunk仅保留关键 chunk编辑前后 chunk 列表可视化对比(按类型或摘要搜索过滤,辅助 chunk 可点击展开查看原始字节 hex dump)WebP:支持编辑 RIFF 容器内的 EXIF chunk(复用 JPEG IFD 结构,全部 EXIF 操作可用)、 清除全部元数据(同时删除 EXIF / XMP / ICCP chunk),chunk 列表与 hex dump 同样可用。 支持批量处理多文件并打包 ZIP 下载,编辑预设保存与导入导出。 不修改图像压缩数据(JPEG SOS..EOI / PNG IDAT / WebP VP8 位流),保证图像质量无损。 编辑前后元数据可视化对比,一目了然。在浏览器本地完成全部操作,零上传、零追踪、可离线使用

点击或拖入 JPEG / PNG / WebP 图片支持 JPEG / PNG / WebP,最大 50.00 MB,全本地处理

编辑预设

保存常用的编辑操作组合,下次一键加载。预设存储在浏览器本地(localStorage),不会上传。

暂无已保存的预设。

常见问题

EXIF 编辑是否在本地处理?会上传图片吗?

是的,全部在浏览器本地处理,图片不离开浏览器。本工具自主实现图片 二进制结构解析与重建:文件通过 FileReader.arrayBuffer() 读取为字节, 对 JPEG 按标记(marker)顺序遍历段结构,定位 APP1 EXIF 段,解析 TIFF / IFD 字段树; 对 PNG 按 chunk 顺序遍历,识别 tEXt / iTXt / tIME / eXIf 等辅助 chunk; 对 WebP 按 RIFF 容器遍历 chunk,识别 EXIF / XMP / ICCP 等元数据 chunk。 按编辑操作修改字节并修正结构(JPEG 修正 IFD 条目计数 / PNG 重算每个 chunk 的 CRC32 / WebP 重算 RIFF 文件大小字段),最后重建字节流。全程零网络请求,可在浏览器开发者工具 Network 面板确认。

EXIF 编辑会损失图像质量吗?

不会。本工具仅修改图片的元数据段,不触碰图像压缩数据: JPEG 不修改 SOS 扫描数据段到 EOI 之间的压缩字节流,PNG 不修改 IDAT 压缩数据 chunk, WebP 不修改 VP8 / VP8L / VP8X 等位流 chunk。 JPEG 的图像质量由 DCT 量化与哈夫曼编码决定,PNG 的图像质量由 IDAT 中的 zlib 压缩流决定, WebP 的图像质量由 VP8 / VP8L 位流决定,这些数据完整保留。 编辑后的图像与原图在像素级别完全一致,仅元数据字段被删除或修改。 可以理解为"换了个文件头",图像本体不变。

支持哪些编辑操作?分别删除什么字段?

本工具支持 7 种编辑操作(按文件类型自动启用其中适用的子集):
- 删除 GPS 定位(JPEG 与 WebP):移除 IFD0 中的 GPSIFDPointer(0x8825)与整个 GPSIFD, 包括 GPSLatitude / GPSLongitude / GPSAltitude / GPSImgDirection 等所有 GPS 标签
- 删除个人信息(JPEG / PNG / WebP):JPEG / WebP 移除 Artist / Copyright / BodySerialNumber / CameraOwnerName / LensSerialNumber 等身份相关字段;PNG 移除 Author / Artist / Copyright / Source 等 tEXt / zTXt / iTXt 关键字(含压缩的 zTXt/iTXt,按关键字过滤无需解压)
- 删除 MakerNote(JPEG 与 WebP):移除 ExifIFD 中的 MakerNote(0x927C), 厂商原始数据块通常体积较大,删除可显著减小文件
- 删除缩略图(JPEG 与 WebP):移除 IFD1(缩略图 IFD)及其嵌入的 JPEG 缩略图数据, 将 IFD0 的 nextIfdPointer 置 0
- 删除软件信息(JPEG / PNG / WebP):JPEG / WebP 移除 Software 标签(0x0131), 如 "Adobe Photoshop CC 2024" 等编辑器痕迹;PNG 移除关键字为 Software 的 tEXt / zTXt / iTXt 条目
- 修改拍摄时间(JPEG / PNG / WebP):JPEG / WebP 同步修改 DateTime / DateTimeOriginal / DateTimeDigitized 三个字段;PNG 修改或插入 tIME chunk(7 字节:年/月/日/时/分/秒)
- 清除全部 EXIF(JPEG / PNG / WebP):JPEG 移除整个 APP1 EXIF 段; PNG 仅保留 IHDR / PLTE / IDAT / IEND 等关键 chunk,移除所有辅助 chunk; WebP 删除 EXIF / XMP / ICCP 三类元数据 chunk,仅保留 VP8 / VP8L / VP8X 等位流 chunk
上传 PNG 时,不适用操作(GPS / MakerNote / 缩略图)会自动从操作列表中隐藏。
上传无 EXIF chunk 的 WebP 时(仅含 XMP / ICCP),仅保留「清除全部 EXIF」操作。

修改拍摄时间支持哪些格式?

JPEG EXIF 时间标准格式为 YYYY:MM:DD HH:MM:SS(注意是冒号分隔日期)。 本工具同时支持以下输入格式:
- 2026:07:18 14:30:00(标准 EXIF 格式)
- 2026-07-18 14:30:00(ISO 风格分隔符)
- 2026-07-18T14:30:00(ISO 8601 风格)
JPEG 修改会同步写入 IFD0.DateTime(0x0132)、ExifIFD.DateTimeOriginal(0x9003)、 ExifIFD.DateTimeDigitized(0x9004)三个字段,确保各查看器显示一致。
WebP 文件与 JPEG 一致,同步修改上述三个字段(WebP EXIF chunk 复用 JPEG IFD 结构)。
PNG 文件则会删除原有的 tIME chunk(若存在),在 IEND 之前插入新的 tIME chunk (7 字节:年 2 字节大端 + 月/日/时/分/秒各 1 字节)。

PNG 文件如何处理?与 JPEG 编辑有什么差异?

本工具同时支持 JPEG 与 PNG 两种格式的元数据编辑,但两者容器格式与元数据机制差异较大:
- JPEG:通过 APP1 段嵌入 EXIF(含 GPS / 拍摄参数 / 个人信息 / 缩略图 / MakerNote), 是 EXIF 的主要载体。本工具采用"原地置零 + 修正 IFD 计数"策略,保留段结构,可选择性删除字段
- PNG:元数据通过辅助 chunk 承载,主要包括: tEXt / zTXt / iTXt(文本元数据,常见关键字 Software / Author / Copyright / Title / Description / Source)、 tIME(最后修改时间)、eXIf(PNG 1.5+ 扩展的 EXIF chunk,实际使用率低)。 zTXt 为 zlib 压缩文本,本工具使用浏览器原生 DecompressionStream('deflate') 自动解压后展示内容, 与 tEXt 一同按关键字分组参与编辑(removePersonal / removeSoftware 同样适用于 zTXt)。 iTXt 为国际化文本(UTF-8 编码,可压缩),本工具同样支持自动解压: 未压缩 iTXt 直接 UTF-8 解码;压缩 iTXt(compressionFlag=1)使用与 zTXt 相同的 DecompressionStream('deflate') 解压路径,解压后按 UTF-8 解码(注意 iTXt 文本编码为 UTF-8,与 zTXt 的 Latin1 不同)。 iTXt 关键字在压缩数据之前为 Latin1 ASCII,applyPngEdits 中按关键字过滤时无需解压,保持同步避免性能损失。
因 PNG chunk 通过 CRC32 校验关联,本工具采用"过滤重建"策略—— 过滤掉要删除的 chunk,重建时为每个保留的 chunk 重算 CRC32,保证文件结构合法
chunk 列表对比与搜索过滤:上传 PNG 后右侧会展示完整 chunk 列表(类型 / 字节数 / 摘要), 关键 chunk(IHDR / PLTE / IDAT / IEND)以蓝色徽章标记,辅助 chunk 以灰色徽章标记。 编辑前后并排展示,可直观看到被删除的 chunk 与 chunk 总数变化。 支持按 chunk 类型(如 "tEXt" / "IDAT")或摘要内容(如 "Author" / "默认背景色")实时搜索过滤, 输入框位于列表上方,输入即过滤,显示匹配数量,无匹配时显示空状态提示。 搜索大小写不敏感,同时匹配类型代码与摘要内容,便于在大型 PNG 中快速定位特定 chunk。
辅助 chunk 原始字节 hex dump:辅助 chunk 行可点击展开,显示 chunk 原始字节的 hex dump 视图 (标准格式:偏移 / 16 字节 hex / ASCII 三栏,每行 16 字节,hex 大写)。 点击 ▶ 图标或行体任意位置即可展开,再次点击折叠;也支持键盘 Enter / Space 展开/折叠。 关键 chunk(IHDR / PLTE / IDAT / IEND)不可展开(压缩数据 hex dump 无意义)。 为避免大型 chunk 拖慢渲染,单 chunk 超过 1024 字节时截断展示前 1024 字节, 并提示"完整数据请下载原文件查看"。
支持差异:PNG 不支持 GPS / MakerNote / 缩略图操作(PNG 容器无对应字段), 上传 PNG 时操作列表会自动隐藏这些不适用项。
其他格式(TIFF / HEIC)暂不支持,建议先用 图片格式转换工具 转为 JPEG / PNG / WebP 再编辑。

WebP 文件如何处理?与 JPEG 编辑有什么差异?

本工具支持 WebP 格式的元数据编辑(第 112 轮新增)。WebP 使用 RIFF 容器格式, 元数据通过独立 chunk 承载,主要包括:
- EXIF chunk:与 JPEG APP1 EXIF 段格式完全一致('Exif\0\0' 前缀 + TIFF 头 + IFD 树), 是 WebP 中 EXIF 元数据的主要载体
- XMP chunk:XML 格式的可扩展元数据平台
- ICCP chunk:ICC 色彩配置文件
编辑策略
- 有 EXIF chunk 的 WebP:复用 JPEG 的 IFD 编辑逻辑(parseExifSegment 解析 → applyEdits 操作 → rebuildExifPayload 重建),全部 7 种编辑操作可用(与 JPEG 完全一致)。 编辑时仅替换 EXIF chunk 数据,不触碰 VP8 / VP8L / VP8X / ALPH 等位流 chunk
- 无 EXIF chunk 的 WebP(仅含 XMP / ICCP):仅支持「清除全部 EXIF」操作 (会同时删除 EXIF / XMP / ICCP 三类元数据 chunk),其他操作因依赖 IFD 结构自动隐藏
- 清除全部 EXIF:删除所有 EXIF / XMP / ICCP chunk,仅保留 VP8 / VP8L / VP8X / ALPH / ANIM / ANMF 等关键位流 chunk
与 JPEG 的差异
- WebP chunk 无 CRC32 校验(与 PNG 不同),重建时仅重算 RIFF 文件大小字段(4 字节小端)
- WebP EXIF chunk 数据若为奇数长度,需补 1 字节 0x00 padding(RIFF 规范要求 chunk 起始偏移为偶数)
- WebP 不修改 VP8 / VP8L / VP8X 位流,保证图像质量无损(与 JPEG 不修改 SOS..EOI 同理)
- 部分非标准 WebP 文件的 EXIF chunk 数据可能直接以 TIFF 头('II' / 'MM')开头,缺少 'Exif\0\0' 前缀, 本工具会自动补齐前缀后再解析,兼容性良好
chunk 列表与 hex dump:上传 WebP 后右侧会展示完整 chunk 列表(与 PNG 一致的 UI), 关键 chunk(VP8 / VP8L / VP8X / ALPH / ANIM / ANMF)以蓝色徽章标记, 辅助 chunk(EXIF / XMP / ICCP)以灰色徽章标记,可点击展开查看 hex dump。

"清除全部 EXIF" 与单独勾选所有删除操作有什么区别?

两者效果相近但实现不同:
- 清除全部 EXIF:JPEG 直接移除整个 APP1 EXIF 段(marker + length + payload), PNG 仅保留 IHDR / PLTE / IDAT / IEND 关键 chunk 移除所有辅助 chunk, WebP 删除 EXIF / XMP / ICCP 三类元数据 chunk(仅保留 VP8 / VP8L / VP8X 等位流 chunk), 最彻底,体积节省最大。但 JPEG / WebP 会同时丢失 IFD0 中可能想保留的 Orientation(方向)等基础字段, 可能导致部分图片显示方向异常
- 单独勾选删除操作:JPEG / WebP 保留 EXIF 段结构,仅置零被删除条目的 tag 并修正计数, 可选择性删除敏感字段而保留 Orientation 等基础字段,更精细; PNG 保留其他辅助 chunk(如 cHRM / sRGB / pHYs / iCCP 等颜色管理 chunk),仅删除被勾选的 tEXt / iTXt / tIME
建议:日常使用优先勾选"删除 GPS + 个人信息 + MakerNote"组合 (JPEG / WebP)或"删除个人信息 + 软件信息"组合(PNG), 既保护隐私又保留图像基础元数据;需要彻底清除时再选"清除全部 EXIF"。

PNG chunk 列表的 hex dump 是什么?如何使用?

hex dump 是查看二进制数据的标准格式,将原始字节以"偏移 + 16 字节 hex + ASCII 字符"三栏形式展示。 本工具在 PNG chunk 列表中为辅助 chunk(如 tEXt / zTXt / iTXt / tIME / eXIf / bKGD / pHYs 等) 提供 hex dump 展开能力,便于开发者与高级用户深入分析 chunk 内部结构。
使用方式
- 展开:点击辅助 chunk 行任意位置,或点击行首的 ▶ 图标,行展开后图标变为 ▼
- 折叠:再次点击行任意位置或 ▼ 图标
- 键盘操作:使用 Tab 键聚焦到可展开的辅助 chunk 行(聚焦后有蓝色焦点环), 按 Enter 或 Space 展开/折叠,符合 WCAG 2.2 无障碍标准
显示格式:每行 16 字节,分两组 8 字节(组间额外空格);偏移列为 8 位 hex 大写; hex 字节为大写;ASCII 列中可打印字符(0x20-0x7E)原样显示,不可打印字符用 . 替换
截断策略:为避免大型 chunk(如体积较大的压缩 zTXt 或 iTXt)拖慢渲染, 单 chunk 超过 1024 字节时仅展示前 1024 字节, 并显示橙色提示"显示前 N 字节,共 M 字节,完整数据请下载原文件查看"。 1024 字节足够覆盖绝大多数辅助 chunk(典型 tEXt / tIME / bKGD 等均在数百字节以内)
不可展开的 chunk:关键 chunk(IHDR / PLTE / IDAT / IEND)不提供展开能力。 IDAT 是图像压缩数据,体积通常数十 KB 到数 MB,hex dump 无意义; IHDR / PLTE / IEND 虽小但结构固定,摘要已展示全部关键信息。 空数据 chunk(dataLength=0)也不提供展开能力(无数据可显示)
典型用途
- 验证 tEXt 关键字与文本内容是否符合 PNG 规范(keyword \0 text 结构)
- 查看 zTXt 压缩前的原始字节(含 compressionMethod 字节)
- 检查 iTXt 的语言标签与翻译关键字字段布局
- 分析 tIME chunk 的 7 字节时间结构(年/月/日/时/分/秒)
- 排查非标准 chunk 类型(OTHER 分类)的实际数据格式
hex dump 与搜索过滤独立工作,可先搜索定位再展开查看,便于在大型 PNG 中精确分析。

编辑后的图片兼容性如何?所有看图软件都能正常打开吗?

兼容性良好
JPEG:采用"原地修改"策略,保留 JPEG 段顺序、保留 IFD 字节结构、 仅置零被删除条目的 tag 字段并修正 IFD 计数。这是 EXIF 规范允许的处理方式, 所有主流看图软件(Windows 照片、macOS 预览、Adobe 系列、Google Photos、各手机相册) 均能正确识别与跳过空条目。
PNG:采用"过滤重建"策略,重建时严格遵循 PNG 规范—— 保留 8 字节签名 + 关键 chunk(IHDR / PLTE / IDAT / IEND)顺序 + 辅助 chunk 位置约束, 每个保留的 chunk 都重算 CRC32。生成的 PNG 文件结构完全合法, 所有主流看图软件均可正常解析与显示。
WebP:采用"chunk 替换"策略,仅替换 EXIF chunk 数据或删除辅助 chunk, 保留 RIFF 文件头与 VP8 / VP8L / VP8X 等位流 chunk 不变,重算 RIFF 文件大小字段。 奇数长度的 EXIF chunk 自动补 1 字节 0x00 padding(RIFF 规范要求)。 生成的 WebP 文件结构完全合法,所有主流看图软件(Chrome / Firefox / Edge / Safari / Windows 照片 / macOS 预览等)均可正常解析与显示。
极少数老旧或非标准的 EXIF 读取器可能仍尝试解析 JPEG / WebP 置零的条目(虽然 tag=0 应被跳过), 若遇到兼容问题,建议改用"清除全部 EXIF"直接移除整个 APP1 段(JPEG)或 EXIF chunk(WebP)。

批量处理最多支持多少文件?处理速度如何?

本工具未设置硬性文件数量上限,但建议单批不超过 200 个文件以获得最佳体验。 单文件大小限制为 50MB,总数据量受浏览器内存限制(通常 1-2GB)。
处理速度参考:单个 JPEG(含 GPS + MakerNote + 缩略图,约 5MB)的编辑耗时通常在 5-30ms 之间; 单个 PNG(含 tEXt / tIME,约 5MB)的编辑耗时通常在 5-25ms 之间(PNG 因需重算 CRC32 略有开销); 单个 WebP(含 EXIF chunk,约 5MB)的编辑耗时通常在 5-25ms 之间(与 JPEG 接近,复用 IFD 编辑逻辑); 批量处理 100 个文件的总耗时通常在 1-3 秒内。
处理策略:批量处理时按文件签名自动分流到 JPEG / PNG / WebP 三个队列并行处理, 每处理 5 个文件会通过 setTimeout(0) 让出主线程一次, 避免长时间阻塞 UI;单文件异常不会中断整批处理,会在结果列表中标记为失败。 处理完成后可一键打包为 ZIP 下载(采用 STORE 模式无压缩,避免重复编码图像数据)。

编辑预设保存在哪里?换浏览器会丢失吗?

预设保存在浏览器的 localStorage 中,与具体的浏览器 + 域名绑定。
- 同一浏览器同一域名下,预设会持久保留,关闭页面或重启浏览器都不会丢失
- 切换浏览器、切换设备、或使用隐私模式(无痕窗口)时预设不会同步
- 浏览器清理缓存 / Cookie 时预设可能被清除
备份方案:预设面板支持「导出全部预设」按钮,可将全部预设导出为 JSON 文件 保存到本地。新设备上通过「导入预设」按钮加载 JSON 文件即可恢复(采用合并模式, 同名预设会跳过,不会覆盖现有预设)。
上限:单个浏览器最多保存 20 个预设,超出时自动按 LRU 策略淘汰最久未使用的预设。

批量处理时如何选择编辑操作?和单文件模式有关联吗?

批量处理与单文件模式共享同一组编辑操作配置
典型工作流:
1. 在「单文件编辑」Tab 中上传一张代表性图片(JPEG / PNG / WebP),勾选所需的编辑操作 (如 JPEG / WebP 选删除 GPS + 个人信息 + MakerNote,PNG 选删除个人信息 + 软件信息)
2. 切换到「批量处理」Tab,顶部「当前编辑操作」会显示已勾选的操作列表
3. 添加多个 JPEG / PNG / WebP 文件(可混合添加),点击「执行批量编辑」
4. 处理完成后可下载 ZIP 包,包含全部成功处理的结果文件
批量分流:批量处理时按文件签名(JPEG SOI 0xFFD8 / PNG 8 字节签名 / WebP RIFF 文件头) 自动分流到 JPEG / PNG / WebP 三个队列分别处理,再按原顺序合并结果。同一批可混合 JPEG / PNG / WebP。
预设加速:若经常使用相同的编辑组合,可在「编辑预设」面板保存为预设 (如命名"分享前清理"),下次直接点击「应用」按钮恢复配置,无需重复勾选。

与 EXIF 信息查看器有什么区别?应该怎么协同使用?

两个工具互补:
- EXIF 信息查看器:基于 exifr 库只读解析, 支持 JPEG / PNG / WebP / TIFF / HEIC 多格式,查看完整 EXIF / IPTC / XMP / ICC 元数据, 用于"看看这张图有哪些元数据"
- EXIF / PNG / WebP 元数据编辑器(本工具):自主实现二进制结构操作, 支持 JPEG / PNG / WebP,支持删除 / 修改元数据字段,用于"删除某些敏感元数据"
典型工作流:先用 EXIF 查看器确认图片含哪些元数据 → 用本工具按需删除 GPS / 个人信息 / MakerNote(JPEG / WebP)或 tEXt / zTXt / iTXt / tIME(PNG)→ 下载编辑后的图片 → 再次用查看器验证删除结果。