@SoNiceInfo 发布于 2026年9月22日
在 Mac 上把 PNG、JPG 和 HEIC 图片批量转换为 AVIF,最简单的方法是使用 AVIF Converter. 这样的 GUI 应用: 拖放图片或文件夹,对比转换前后的效果,然后导出,图片始终不会离开你的 Mac。 如果你经常使用终端,通过 Homebrew 安装的命令行编码器 avifenc(libavif)也能完成同样的工作;较新版本的 macOS 还可以用系统自带的 sips 命令转换,不过 sips 几乎无法控制质量。 这三种方法都完全在 Mac 上运行,不会上传任何内容。
AVIF 是新一代图片格式,在画质相近的情况下,文件大小约为 JPEG 的一半,并且支持透明、动画、HDR 和 10/12 位色深。 本文将逐一介绍每种方法,并给出我们用同一张原图实际得到的文件大小。
| 项目 | AVIF Converter. | avifenc(libavif) | sips(macOS 自带) |
|---|---|---|---|
| 批量转换 | 拖放即可,整个文件夹也可以 | 需要 shell 循环 | 可以,使用通配符 |
| 质量 / 速度控制 | 在屏幕上调整并对比转换前后 | 可精细调整(-q、-s 等) | 几乎不能 |
| GUI | 有 | 无(终端) | 无(终端) |
| 准备工作 | 从 Mac App Store 安装 | Homebrew 加上 brew install libavif | 无(仅限能写出 AVIF 的 macOS 版本) |
| 上传图片 | 否 | 否 | 否 |
如果你不想用终端,或者想在导出前亲眼判断画质,GUI 应用是最简单的途径。Mac 版 AVIF 批量转换应用 AVIF Converter. 可以免费开始使用,所有转换都在 Mac 上完成,图片不会被发送到其他地方。
拖放
把 PNG、JPG、HEIC 或 WebP 文件(也可以是整个文件夹)拖到窗口中。
选择质量
应用会显示转换前后的文件大小和压缩率,还可以用滑块对比原图和结果。
点按“开始”
一次性写出所有 AVIF 文件。
它还支持调整大小、元数据选项、批量添加水印、JPEG / PNG 备用格式输出以及 AVIF 动画。 如果需要一次导出多种格式(除了 AVIF,还有 WebP 和 JPEG XL),多合一的 Image Tool+ 更合适。
macOS 12 或更高版本 · 原生支持 Apple 芯片
avifenc 是 AVIF 参考实现 libavif 附带的编码器。它可以精确控制质量和速度,也很容易放进脚本和构建流程中。 装好 Homebrew 后,一条命令即可安装:
brew install libavif转换单张图片时,指定输入和输出的文件名:
avifenc -q 60 -s 6 input.jpg output.avif-q:质量,范围 0 到 100。数值越高,画质越好,文件也越大。照片从 60 左右开始尝试比较合适。-s:编码速度,范围 0 到 10。数值越低速度越慢,但文件越小。6 在速度和大小之间取得了合理的平衡。要转换文件夹中的所有 JPG 和 PNG,可以使用 shell 循环。输出文件沿用原来的文件名,只把扩展名改为 .avif。
for f in *.jpg *.png; do avifenc -q 60 -s 6 "$f" "${f%.*}.avif"; done注意,avifenc 主要读取 JPEG、PNG 和 Y4M。iPhone 拍的 HEIC 照片,请先用 sips 转换为 PNG,或者使用能直接读取 HEIC 的方法 1 或方法 3。
sips 是 macOS 自带的图片处理命令。较新版本的 macOS 可以写出 AVIF,因此无需安装任何东西就能转换。 要确认你的 Mac 是否支持,请运行下面的命令。如果 avif 这一行显示 Writable,就可以使用。
sips --formats | grep -i avif在我们的机器上(macOS 27),它会输出 public.avif avif Writable,用下面的命令即可转换图片:
sips -s format avif input.jpg --out output.avif要一次转换多张图片,把输出指定为一个文件夹即可。HEIC 文件也可以同样作为输入。
mkdir avif && sips -s format avif *.jpg --out avif/代价是 sips 几乎无法控制 AVIF 的质量和编码速度。从下面的数据可以看出,它的默认设置缩小文件的效果不如 avifenc,所以只把它当作临时需要一张 AVIF 时的快捷选择即可。
我们用每种命令行方法,把同一张 1600×1064 的 JPEG 照片(230 KB)转换为 AVIF。 这只是一个例子,缩小幅度会因图片和设置而有很大差异。
| 方法 | 文件大小 | 与原 JPEG 相比 |
|---|---|---|
| 原 JPEG | 230 KB | — |
avifenc -q 60 -s 6 | 108 KB | 缩小约 53% |
sips -s format avif(默认设置) | 182 KB | 缩小约 21% |
测试环境:macOS 27,avifenc 1.4.2(aom 3.15.0)。
能否调整质量,差别就有这么大。如果在意文件大小,请选择 avifenc(可以自己设定质量),或者 AVIF Converter.(可以在屏幕上一边对比转换前后一边调整)。
为了让不支持 AVIF 的浏览器也能显示图片,网页上的标准做法是使用 <picture> 元素,按 AVIF → WebP → JPEG 的顺序回退。 浏览器会加载列表中第一个它支持的格式。
<picture>
<source type="image/avif" srcset="/images/hero.avif" />
<source type="image/webp" srcset="/images/hero.webp" />
<img src="/images/hero.jpg" alt="..." width="1600" height="1064" />
</picture>浏览器支持情况:Chrome(2020 年起)、Firefox(2021 年起)、Safari(macOS 13 / iOS 16 或更高版本)、Edge(2024 年起)。 关于 WebP 备用格式,请参阅如何在 Mac 上将图片批量转换为 WebP;关于两种格式如何选择,请参阅WebP 与 AVIF 对比。
<picture> 的写法。 如果想在构建或部署流程中转换,avifenc 更合适。所有主流浏览器都支持 AVIF:Chrome(2020 年起)、Firefox(2021 年起)、Safari(macOS 13 / iOS 16 或更高版本)和 Edge(2024 年起)。 使用 <picture> 元素,把 AVIF 放在最前面、WebP 或 JPEG 作为备用,旧版客户端也能正常显示图片。
AVIF 通常作为有损格式使用,质量设得越低,丢失的细节就越多。不过在相同文件大小下,AVIF 的观感比 JPEG 更好;对于照片,质量 60 左右就很难和原图区分开。 最可靠的做法是用你自己的图片对比转换前后的效果,选出你能接受的最低质量。
最看重文件大小时选 AVIF;更在意旧版客户端的兼容性或编码速度时选 WebP。 在网站上,常见做法是两种都提供,再交给 <picture> 元素依次回退。 详情请参阅我们的 WebP 与 AVIF 对比。
能。macOS 13 或更高版本原生支持显示 AVIF,可以用“快速查看”和“预览”打开。 更早版本的 macOS 默认无法显示 AVIF。
如果只是几张已经公开的图片,并没有问题。但在线转换工具的原理是把你的图片发送到别人的服务器上,因此不适合未公开的素材、客户的作品或带有位置信息的照片。 本文介绍的三种方法都不会把图片发送到 Mac 以外的地方。
要在 Mac 上把图片批量转换为 AVIF,建议先从 GUI 应用 AVIF Converter. 开始:拖放、对比转换前后,然后导出。 如果你在终端里工作,就用 avifenc;如果不想安装任何东西,就用 sips。无论哪种方法,图片都不会离开你的 Mac。