不用先转格式,就能读 HEIC。

把 HEIC 或 HEIF 拖到下面。标签直接从文件本身读取,与你的浏览器能不能把图画出来无关。

HEIC 是一个容器,不是一种图像格式

一个 .heic 文件采用的是 ISO 基础媒体文件格式——和 MP4 是同一套 box 结构。它装的是一组条目:通常有一张 HEVC 编码的图片,往往还有缩略图,有时还有深度图、HDR 增益图,或者连拍中的好几帧完整画面。元数据也是其中一个条目。EXIF 位于自己的条目里,由一个引用 box 指明它描述的是哪张图片,而不像 JPEG 那样待在文件头部。

为什么有时候看不到预览

HEVC 涉及专利,所以 Safari 能原生解码 HEIC,而大多数其他浏览器不能。当浏览器拒绝时,工作区会用一个 WebAssembly 解码器把文件解出来生成预览。这条路更慢,遇到大图还可能失败——那种情况下你会拿到标签,外加一句「图片本身无法绘制」的提示。读取元数据从不依赖解码图像,所以无论如何标签都在。

iPhone 实际写入了什么

完整的 EXIF:相机型号、镜头、曝光、方向和拍摄时间;开着定位时还有 GPS 的经纬度,通常连海拔一起。在此之上还有苹果的厂商备注——一个私有块,装着连拍标识、场景分类提示这类东西。实况照片还会关联一段配对的视频,那是另一个文件,本工作区不打开它。

HEIC 的结构

HEIC 是一棵由 box 组成的树,不是一串段。除图像之外的一切都放在 meta 里面——这正是为什么把它取出来和从 JPEG 里删掉一个段是两件不同的事。图只画了这棵树的一层:colr 还要更深,在一个属性 box 下面;条目的字节也是通过 iloc 找到的,并不存放在声明它的位置。
ftypmetaiinf / ilocirefExif 条目mime 条目colrmdat
  • 结构
  • 可以存放元数据
  • 图像本身

HEIC 把东西放在哪里

meta
装着文件里所有非图片条目的那个 box。
iinf / iloc
有哪些条目,以及每个条目的字节偏移。
Exif 条目
一个完整的 TIFF 结构 EXIF 块,含相机与 GPS。
mime 条目
XMP,当某个编辑器写入过时。
iref
哪个条目描述哪张图片。
colr
色彩配置文件,重编码时会丢失。

关于 HEIC

浏览器显示不了 HEIC,还能读它的信息吗?展开

可以。读标签是遍历文件的 box 结构,不需要 HEVC 解码器。所有标签你都能看到;可能缺的只是预览图。

iPhone 拍的 HEIC 里有 GPS 吗?展开

只要拍摄那一刻相机的定位权限是开着的,就有,通常还带海拔。把文件拖到上面,如果有坐标你会直接看到。

怎么去掉 HEIC 里的元数据?展开

通过重编码清理,因为没有浏览器能写 HEIC。图像会被解码并导出为不含任何嵌入信息的 JPEG——你会得到一个干净的文件,但换了容器,画质取决于这次重编码。

为什么我的 HEIC 里是好几张照片?展开

因为容器允许。连拍、人像模式的深度图和 HDR 增益图都以额外条目的形式和主图存在一起。标签表显示的是主图的元数据。

能做什么

删除 EXIF 数据
拖入一张照片,下载一份去掉嵌入元数据的副本。JPEG 无损删除 EXIF 段;HEIC、PNG、WebP 等格式通过重编码去除。文件不会上传。
删除 GPS 位置
先看清照片带着哪组坐标,再下载一份不含坐标的副本。JPEG 只去掉位置标签,其余信息原样保留。文件不会上传。
编辑 JPEG EXIF
修改 JPEG 的标题、作者、描述、版权、软件和拍摄时间,然后下载编辑后的副本。全部在本地完成,原文件不会被改动。
XMP、IPTC 与 ICC 查看
读取文件携带的每一个元数据分组 —— EXIF、XMP、IPTC、ICC、厂商备注 —— 分组呈现并可导出为 JSON。适用于素材质检、取证和排查处理流程。文件不会上传。
打开多张照片
一次打开最多五十张照片,看清哪些带有位置信息,并把整批导出成表格。全程不上传,原文件也从不被写入。