@SoNiceInfo 发布于 2026年9月22日
在 Mac 上把 JPG、PNG 和 HEIC 图片批量转换为 JPEG XL(.jxl),最简单的方法是使用 Image Tool+ 这样的 GUI 应用: 拖放图片或文件夹,选择 JPEG XL 作为输出格式即可,图片始终不会离开你的 Mac。 如果你习惯使用终端,也可以用 Homebrew 安装官方编码器 cjxl。 需要注意的是,macOS 自带的 sips 命令可以读取 JPEG XL,但无法写出,所以仅靠系统自带的工具无法生成 .jxl 文件(详见下文)。
JPEG XL 是作为 JPEG 的后继者而设计的图片格式。它支持有损和无损压缩、高位深、HDR 和广色域,以及渐进式解码。 在 Mac 上离线生成 .jxl 文件,实际上有两种方法:GUI 应用和 cjxl 命令。
| 项目 | Image Tool+(推荐) | cjxl(命令行) |
|---|---|---|
| 批量转换 | 拖放(整个文件夹也可以) | 需要 shell 的 for 循环 |
| HEIC 输入 | 可直接读取 | 不支持(需先转换为 JPEG 或 PNG) |
| JPEG 的无损可逆重新压缩 | — | 支持(输入 JPEG 时的默认行为) |
| 调整大小、重命名、水印 | 一次完成 | 不支持(需要其他工具) |
| GUI | 有 | 无(终端) |
| 准备工作 | 从 Mac App Store 安装 | Homebrew 和 brew install jpeg-xl |
| 上传图片 | 否 | 否 |
Mac 版图片批量转换应用 Image Tool+ 是我开发的 Mac 专用应用。它可以读取 HEIC、PNG、JPG、GIF、TIFF、PSD、PDF 等格式,并导出为包括 JPEG XL 在内的 10 种格式。 使用只需三步:把图片或文件夹拖到窗口中,选择输出格式,然后点按“开始”。
拖入图片
从访达拖入一批 JPG、PNG 或 HEIC 文件(也可以是整个文件夹)。
选择 JPEG XL 作为输出格式
还可以同时选择 WebP、AVIF、PNG、JPG 等格式。调整大小、水印和重命名也可以一并设置。
点按“开始”
JPEG XL(.jxl)文件会一次性批量导出。
除了转换,它还能一次完成调整大小、重命名、添加水印、编辑元数据和移除背景,导出时保留 HDR 和广色域。 所有处理都在 Mac 上完成,无需把图片上传到任何地方。买断制,无需订阅。
注意,同系列的 WebP Converter. 和 AVIF Converter. 分别专注于 WebP 和 AVIF,不能导出 JPEG XL。要转换为 JPEG XL,请使用 Image Tool+。
macOS 12 或更高版本 · 原生支持 Apple 芯片
cjxl 是 JPEG XL 参考实现 libjxl 附带的官方编码器。它很容易写进脚本,还能进行下文介绍的 JPEG 无损重新压缩。 装好 Homebrew 后,一条命令即可安装。解码器 djxl 也会一起安装。
brew install jpeg-xl输入为 JPEG 时,cjxl 默认进行无损转码。画质完全不变,只有文件变小。
cjxl input.jpg output.jxl这样生成的 .jxl 可以用 djxl 还原为原来的 JPEG。我在自己的 Mac 上用 cmp 确认过,还原后的 JPEG 与原文件逐位完全一致。
djxl output.jxl restored.jpg从 PNG 等图片进行有损转换时,用 -d(distance,距离)设置质量。-d 1 在视觉上接近无损,数值越大文件越小。
cjxl input.png output.jxl -d 1Logo、截图以及其他不希望画质下降的图片,请用 -d 0 进行无损压缩。
cjxl input.png output.jxl -d 0-d:质量(距离)。0 为无损,1 在视觉上接近无损;数值越大,输出越小、越粗糙。-e:编码力度。默认值为 7;数值越高耗时越长,文件也会稍小一些。要转换文件夹中的所有 JPG,可以使用 shell 的 for 循环。原文件保留不动,会生成同名、扩展名为 .jxl 的文件。
for f in *.jpg; do cjxl "$f" "${f%.*}.jxl"; done注意,cjxl 无法直接读取 HEIC。要转换 iPhone 的 HEIC 照片,请先用 sips 转换为 JPEG 或 PNG,或者使用能直接读取 HEIC 的方法 1。
用系统自带的工具不行吗?截至本文撰写时,答案是:可以显示和读取 JPEG XL,但无法写出。 macOS 14 Sonoma 或更高版本可以显示 JPEG XL,所以访达的“快速查看”和“预览”都能打开 .jxl 文件。 可以用下面的命令查看系统自带的转换命令 sips 支持哪些格式。
sips --formats | grep -i jxl在我的 Mac 上(macOS 27),它会输出 public.jpeg-xl jxl,但没有 JPEG 和 PNG 那几行都有的 Writable 标记。运行 sips -s format jxl 也没有生成任何文件。 反方向的转换(从 JPEG XL 转为 JPEG)则可以用 sips 完成。
sips -s format jpeg input.jxl --out output.jpg以下是我用 cjxl 转换一张 1600×1064 照片的结果。 这只是一个例子,缩小幅度因图片内容和设置而异。
| 原图 | 命令 | 结果 | 备注 |
|---|---|---|---|
| JPEG 230 KB | cjxl(无损转码) | 187 KB | 缩小约 19%;可完全还原为原来的 JPEG |
| PNG 1.86 MB | cjxl -d 0(无损) | 1.09 MB | 缩小约 41% |
| PNG 1.86 MB | cjxl -d 1(有损) | 177 KB | 视觉上接近无损的设置 |
测试环境:macOS 27,cjxl v0.12.0。
值得关注的是第一行。已经以 JPEG 保存的照片,画质一点不变就能缩小约五分之一,需要时随时可以取回原来的 JPEG。
JPEG XL 的支持情况仍在变化。以下内容截至本文撰写时,部分依据二手资料;最新情况请查看 caniuse.com/jpegxl。
.jxl。Chrome 和 Firefox 都计划改为默认开启,但目前在网站上提供 JPEG XL 时,需要用 <picture> 提供备用格式。 浏览器会从上到下加载第一个它支持的格式。
<picture>
<source type="image/jxl" srcset="/images/hero.jxl" />
<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>如今 JPEG XL 真正的用武之地是照片存档,而不是网页发布。 它能无损地把 JPEG 存得小约 20% 并还原出原图;支持高位深、HDR 和广色域;还支持渐进式解码。对于想长期保存拍摄作品的摄影师来说,这些都是实实在在的好处。
cjxl 的无损转码,随时可以还原出原来的 JPEG。 想在保留 HDR 和广色域的同时把母版导出为 JPEG XL,或者想一次完成调整大小和重命名,Image Tool+ 更合适。<picture> 元素中的第一个 source。 Image Tool+ 可以一次导出 JPEG XL、AVIF 和 WebP。关于格式的选择,请参阅WebP 与 AVIF 对比。cjxl。通过 -d 和 -e 可以精细控制质量和速度。JPEG XL(扩展名 .jxl)是作为 JPEG 的后继者而制定标准的图片格式。它在一种格式中同时支持有损和无损压缩、高位深、HDR 和广色域、透明以及渐进式解码。 它的独特之处在于,可以把现有的 JPEG 在画质完全不变的情况下重新压缩小约 20%,之后还能原样还原出原来的 JPEG。
截至本文撰写时,主流浏览器中只有 Safari 17 或更高版本默认就能显示 JPEG XL。Chrome 145(2026 年 2 月)和 Firefox 152(2026 年 6 月)重新加入了解码器,但默认都处于关闭状态,需要通过实验标记或首选项开启,二者都计划改为默认开启。 最新情况请查看 caniuse.com/jpegxl。在网站上使用 JPEG XL 时,必须用 <picture> 提供备用格式。
是的。输入 JPEG 时,cjxl 默认进行无损转码。画质完全不变,还可以用 djxl 还原出原来的 JPEG。 我在自己的 Mac 上用 cmp 确认过,还原后的 JPEG 与原文件逐位完全一致。
能。macOS 14 Sonoma 或更高版本可以显示 JPEG XL,访达的“快速查看”和“预览”都能直接打开。 不过系统自带的 sips 命令只能读取 JPEG XL,无法写出。反方向的转换(从 JPEG XL 转为 JPEG)则可以用 sips 完成。
在网站上发布图片时,截至本文撰写时 AVIF 和 WebP 是基本选择,因为所有主流浏览器都支持它们。JPEG XL 的强项在于存档:无损地把 JPEG 存得更小,或保存高位深和 HDR 的母版文件。 关于发布用格式的选择,请参阅WebP 与 AVIF 对比。
要在 Mac 上把图片批量转换为 JPEG XL,建议先从 GUI 应用 Image Tool+ 开始:拖放图片(包括 HEIC),还能一次完成调整大小和重命名。 如果你在终端里工作,或者想无损地把 JPEG 存得更小,请选择 cjxl。系统自带的 sips 命令无法写出 JPEG XL。 无论哪种方法,图片都不会离开你的 Mac。