iPhone 拍的照片导到 Mac 上,一张 2~4 MB,几百张就是一两个 G。
想批量压一压,搜了一圈却发现:有的教程教你转成 JPG,结果文件反而变大了;有的工具压完几乎没变小。
问题出在哪?因为 HEIC 本身已经是一种很省的格式。想让它再变小,得用对方法。
先了解 HEIC:它为什么「压不动」
HEIC(HEIF 容器 + HEVC 编码)是苹果从 iOS 11 开始默认的照片格式,在「设置 → 相机 → 格式」里选「高效」就是它。
它用的是视频编码 H.265 的帧内压缩技术,同样的画质,体积通常只有 JPEG 的一半左右。所以:
- 把 HEIC 转成 JPG 不会变小,往往会变大。转 JPG 是为了兼容性,不是为了省空间。
- iPhone 拍出来的 HEIC 已经压过一次,再用「差不多的质量」重新编码,省下的空间很有限。
想让 HEIC 明显变小,只有三条路:降低编码质量、缩小分辨率、去掉附加数据。下面每种方法,本质上都是这三条之一。
批量压缩之前:别直接动「照片」App 里的图
「照片」App 的图库是一个数据库包(照片图库.photoslibrary),里面的文件不要直接拿出来压缩或替换,否则可能导致图库索引出错。
正确做法是先导出:在「照片」里选中照片,文件 → 导出 → 导出未修改的原件,导出到一个普通文件夹,再对这个文件夹做批量处理。
方法一:sips 命令行(系统自带,可控质量)
macOS 自带的 sips 可以批量重编码 HEIC,并通过 formatOptions 指定质量(0~100):
bash
mkdir -p ~/Desktop/heic-out
sips -s format heic -s formatOptions 50 ~/Desktop/heic-in/*.HEIC --out ~/Desktop/heic-out/
我们用一张 iPhone 拍摄的 4032×3024 照片(原图 3.6 MB)试了一下:
| 质量 | 输出大小 | 变化 |
|---|---|---|
| 80 | 3.6 MB | 反而略大 |
| 50 | 1.2 MB | 约省 2/3 |
这说明两件事:质量设得太高,重编码不但不省,还可能变大;而真正省空间的,是把质量降到原图以下。至于降到多少画质还能接受,需要你自己打开几张对比确认。
再配合 -Z 2048 等参数限制长边像素,还能再小很多——前提是你不需要原始分辨率。
方法二:「快捷指令」或访达「快速操作」(图形界面)
- 访达右键 → 快速操作 → 转换图像:可以批量转成 HEIF/JPEG/PNG,并选择图片尺寸(小/中/大/实际大小)。适合「缩小分辨率」这种需求,但不能精细调质量。
- 「快捷指令」App:用「转换图像」动作可以设置格式、质量和是否保留元数据,再配合「调整图像大小」,做成一个可以反复使用的批量流程。
这两种方式都会生成新文件,原图不动,需要你自己整理、替换。
方法三:「预览」批量导出
在「预览」里同时打开多张照片,在左侧缩略图栏全选,文件 → 导出所选图像,选择格式即可批量导出。适合偶尔处理一小批,选项比前两种少。
方法四:ImgZilla(原地批量压缩,原图进废纸篓)
ImgZilla 是我们做的 macOS 图片压缩工具,支持 HEIC/HEIF,它和上面几种方式的区别在于:
- 原地压缩:文件名、路径、格式都不变,
IMG_1234.HEIC压完还是IMG_1234.HEIC,不用整理输出目录。 - 整个文件夹拖进去即可:递归扫描子目录,HEIC 和 JPG、PNG、WebP 等其他格式一起处理。
- 原图默认移入废纸篓:不满意就右键「放回原处」。
- 压不动的不硬压:压缩率不足 0.4% 的文件标为「已最小」,原样保留,也不扣免费额度。
- 全程本地运行,照片不上传任何服务器。
但对 HEIC,有几点必须说清楚:
- 它用系统 ImageIO 以固定质量(0.75)重编码,不会大幅降质量,也不改分辨率。对 iPhone 直出的 HEIC,能省的空间通常不多;已经被处理过的 HEIC,很多会直接被标为「已最小」。如果你的目标是「把照片压到原来的三分之一」,上面的 sips 方法更合适。
- 默认去掉 EXIF(拍摄时间、地点、相机信息等)。需要保留的话,在设置里打开「保留 EXIF 信息」。
- 当前版本不保留 iPhone 照片的 HDR 增益图。新款 iPhone 拍的照片里带有一张用于 HDR 显示的增益图,压缩后这部分数据会丢失,照片在支持 HDR 的屏幕上会以普通亮度显示。对 HDR 效果有要求的照片,建议不要用 ImgZilla 压缩,或者保留原图。
所以 ImgZilla 处理 HEIC,更适合混在各种格式里的一整个文件夹顺手一起压,而不是专门为 iPhone 照片「瘦身」的工具。
一张表总结
| 方法 | 能省多少 | 控制质量 | 原图怎么办 | 适合 |
|---|---|---|---|---|
| sips 命令行 | 取决于质量参数,可以很多 | ✅ 0~100 | 输出到新目录 | 想大幅缩小、愿意敲命令 |
| 快捷指令 / 快速操作 | 主要靠缩小分辨率 | 快捷指令可以 | 生成新文件 | 图形界面、固定流程 |
| 预览批量导出 | 有限 | 选项较少 | 生成新文件 | 偶尔处理一小批 |
| ImgZilla | iPhone 原片通常不多 | 固定,无需调 | 原地替换,原图进废纸篓 | 混合格式的文件夹顺手一起压 |
最后几点建议
- 最大的省空间手段不是压缩,而是筛选。连拍、重复、模糊的照片删掉,比任何压缩都有效。
- 想要大幅缩小,就要接受画质损失。HEIC 已经很高效,「几乎不损失画质还能省一半」在这里基本不成立。
- 重要照片先备份原件。无论用哪种方法,重编码都是有损的,压完无法恢复到原始画质。
ImgZilla 目前仅支持 macOS(12.3 及以上),可在 Mac App Store 下载。免费版每天可压缩 10 张,只有压缩成功才计入额度。
