跳到主要内容

如何在 Mac 上无损将 JPEG 转为 JPEG XL

· 阅读需 11 分钟
JPEG XL 转换工具
HP60 Studio

想在 Mac 上无损将 JPEG 转为 JPEG XL?Image2JXL 是一款原生 macOS 应用,可以本地导入 JPEG 文件或文件夹,将它们转换为 JPEG XL;需要兼容更多软件时,也能把 JXL 导出为 JPEG、PNG 或 GIF。

关键在于,“无损”在 JPEG XL 工作流里可能指两种不同的结果。可逆 JPEG 重压缩可以在支持的情况下保留还原原始 JPEG 所需的信息;像素无损编码则保留解码后的像素,但不一定能恢复原 JPEG 的字节。本文会解释两者的区别,介绍如何使用 Image2JXL,并通过命令行检查转换结果。

如需查看产品详情和支持的格式,请访问 Image2JXL:Mac 专用 JPEG XL 转换器。

使用可逆 JPEG 重压缩和像素无损编码将 JPEG 转为 JPEG XL 的流程

JPEG 转 JXL 中的“无损”到底是什么意思?​

JPEG XL 是由 JPEG 委员会制定标准的图片格式,同时支持有损和无损压缩。因此,同样是 .jxl 文件,既可能完整保留图片,也可能为了减小体积而主动舍弃部分图像信息。

对于 JPEG 源文件,常见的“无损”有两种含义:

工作流保持什么不变?能否还原原始 JPEG?
可逆 JPEG 重压缩JPEG 码流和解码后的像素如果文件保留重建元数据且源文件受支持,可以还原
像素无损 JPEG XL 编码解码后的图片像素不能逐字节还原原始 JPEG 文件容器

可逆 JPEG 重压缩​

JPEG XL 可以复用 JPEG 文件中已经存储的离散余弦变换系数,再用更高效的方式编码。生成的 JXL 文件通常更小,同时保留重建原始 JPEG 所需的信息。

如果你在做归档,并且以后可能还需要原始 JPEG,这就是更合适的路径。这里的“还原”指之后能够生成与源文件字节完全一致的 JPEG,而不只是得到一张看起来相同的图片。

像素无损编码​

另一种路径会先把 JPEG 解码为像素,再用 JPEG XL 的模块化模式无损保存这些像素。图片解码后仍然逐像素一致,但原始 JPEG 容器和字节序列无法保留。

这一区别对摄影师、开发者和档案管理很重要。如果你只需要图片显示和解码结果不变,像素无损可能已经足够;如果还要恢复原 JPEG 文件,就应选择可逆 JPEG 重压缩,并验证往返结果。

使用 Image2JXL 在 Mac 上将 JPEG 转为 JPEG XL​

Image2JXL 专为 macOS 本地 JPEG XL 转换设计。文件会在 Mac 上处理,不会上传到云端转换服务,适合处理私人照片库、客户素材、网站图片和离线归档。

1. 导入 JPEG 文件或文件夹​

打开 Image2JXL,拖入一个或多个 .jpg、.jpeg 文件。你也可以直接导入文件夹进行批量转换,并在处理过程中查看每个项目的状态。

2. 选择 JPEG XL 转换方式​

如果你以后可能需要恢复原 JPEG,请为 JPEG 输入选择可逆 JPEG 重压缩路径。如果所选路径会先把源文件解码为像素,输出仍然可以做到像素无损,但不要把它当作逐字节的 JPEG 备份。

3. 选择 JXL 输出位置​

你可以将转换后的文件保存到原文件旁边,也可以选择其他本地文件夹。第一次测试时,建议使用单独的输出位置,这样原始 JPEG 不会被改动,方便比较体积并验证结果。

4. 查看批量处理结果​

转换完成后,查看每个文件的状态,并打开几个 JXL 文件确认结果。Image2JXL 支持本地批量导入和结果检查,你可以在整理原文件夹之前发现失败或不支持的输入。

5. 验证完成前保留原文件​

不要马上删除 JPEG。先将一个示例 JXL 还原为 JPEG 并比较哈希;如果使用的是像素无损路径,则比较解码后的像素。确认归档通过后,再决定是否继续保留 JPEG,或将它们移动到备份位置。

Image2JXL 支持哪些格式?​

Image2JXL 专注于 JPEG XL 工作流,并不是一个试图覆盖所有格式的通用转换器。

方向支持的格式和工作流
转为 JPEG XLJPEG、PNG/APNG、GIF、TIFF、BMP、EXR、NetPBM 和 PFM
从 JPEG XL 导出JPEG、PNG 或 GIF,方便在不支持 JXL 的应用和网站中使用
本地工作流单个文件、文件夹、拖放、批量状态和本地输出
元数据在所选转换路径支持时,可保留 EXIF 和 XMP

当前输入流程不接受 WebP、AVIF、HEIC/HEIF、TGA、PSD、RAW、SVG、PDF 或 ICO 作为转入 JXL 的图片格式。如果你的图片库主要是 WebP 或 AVIF,请先使用支持这些格式的转换器,再将合适的输出导入 Image2JXL。

使用 cjxl 转换单个 JPEG​

如果你需要可视化操作,Image2JXL 会更方便;如果想要重复执行同一套命令,或需要检查确切的编码参数,则可以使用 JPEG XL 的参考命令行工具。

先安装 libjxl 命令行工具,并确认两个命令都能使用:

cjxl --version
djxl --version

要明确执行无损 JPEG 转换,请使用距离值 0:

cjxl -d 0 photo.jpg photo.jxl

-d 0 表示编码时不丢弃图像信息。如果源 JPEG 受支持,并且你希望之后能够重建原 JPEG,请保留 JPEG 重建功能:

cjxl -d 0 -e 8 --allow_jpeg_reconstruction=1 photo.jpg photo.jxl

这里的 -e 8 会提高编码强度,可能得到更小的文件,但耗时也可能更长。它不会让结果“更无损”;距离值为 0 已经定义了无损目标。

以后要还原 JPEG 时,将输出文件命名为 .jpg 或 .jpeg:

djxl photo.jxl photo-recovered.jpeg

只有当 JXL 文件包含所需的 JPEG 重建数据,且源 JPEG 适用于该路径时,才能重建原文件。基于像素生成的 JXL 也可以导出一张看起来相同的 JPEG,但不能逐字节重建原始 JPEG 码流。

在本地批量转换 JPEG 文件夹​

下面的简单批处理会把 JXL 文件写到单独的目录,不会改动源文件:

mkdir -p jxl-out
for f in *.jpg *.jpeg; do
[ -e "$f" ] || continue
cjxl -d 0 "$f" "jxl-out/${f%.*}.jxl"
done

Image2JXL 也提供类似的本地批量工作流,只是不需要手写命令。导入文件夹,选择输出位置,查看每个文件的结果,并在示例文件完成往返验证前保留源文件夹。

在 Mac 上将 JPEG 文件夹批量转换为 JPEG XL

批量转换适合以下场景:

  • 归档大型 JPEG 照片库。
  • 在独立的 JXL 测试文件夹中准备网站或应用素材。
  • 对比一组相似图片转换为 JPEG XL 后的体积。
  • 不上传源文件,重复执行本地转换流程。
  • 将选中的 JXL 导出为 JPEG 或 PNG,以兼容更多软件。

如何验证 JPEG 转 JXL 确实无损?​

验证可逆 JPEG 重压缩最严格的方法是比较 SHA-256。先还原一个 JXL 文件,再计算两份 JPEG 的哈希:

djxl jxl-out/photo.jxl photo-recovered.jpeg
shasum -a 256 photo.jpg photo-recovered.jpeg

如果两个哈希一致,说明还原后的 JPEG 与源 JPEG 逐字节相同。哈希不一致也不一定代表图片看起来不同:可能是 JXL 使用了像素无损编码,也可能是重建元数据没有保留。

对于像素无损输出,不要比较 JPEG 文件哈希,而应比较解码后的图片。将源 JPEG 和 JXL 都解码为 PNG 等无损栅格格式,再使用图片比较工具。像素一致即可证明图片内容保留,即使无法重建原 JPEG 容器。

通过往返 JPEG 和哈希比较验证 JPEG XL 归档

批量转换后,重点检查三件事:

  1. 每个 JXL 文件都能正常解码。
  2. 如果选择了可逆重压缩,抽样文件还原后的 JPEG 哈希与源文件一致。
  3. 如果所选 Image2JXL 或 cjxl 路径承诺保留元数据,确认 EXIF 和 XMP 仍然存在。

哪些设置会改变转换结果?​

下面几种设置可能会让原本的无损归档变成有损或不可逆流程。

距离值大于 0​

像 -d 1 这样的距离值可能看起来很好,但并非数学意义上的无损。如果必须保持像素一致,请使用 -d 0。

关闭 JPEG 重建​

如果关闭或移除了重建元数据,即使解码后的像素仍然一致,也无法从 JXL 重建原始 JPEG。要建立可逆 JPEG 归档,请保留重建功能。

清理元数据​

清理 EXIF 可能会与 JPEG 重建发生冲突。如果以后可能需要精确恢复源 JPEG,请保留重建元数据,不要使用会移除它的清理步骤。

使用 djxl -j 导出​

-j 或 --pixels_to_jpeg 会根据解码后的像素生成一张新的 JPEG。它适合兼容性导出,但不等同于还原原始 JPEG。需要做归档往返检查时,不要用它代替重建流程。

什么时候适合使用 Image2JXL?​

如果你需要一款带原生界面的 Mac JPEG XL 转换器,并且希望本地批量处理,Image2JXL 很适合以下场景:

  • 不上传文件,将 JPG 转为 JXL。
  • 对支持的 JPEG 保留可逆工作流。
  • 批量转换文件夹,而不是逐个输入命令。
  • 在处理原文件前查看每个文件的状态。
  • 在所选路径支持时保留 EXIF 和 XMP 元数据。
  • 将 JXL 导出为 JPEG、PNG 或 GIF,以兼容不支持 JPEG XL 的软件。

如果源文件主要是 WebP、AVIF、HEIC、RAW、PSD 或 PDF,则不太适合,因为这些格式不在当前 Image2JXL 的输入流程中。

还要保留原始 JPEG 吗?​

在 JXL 归档完成验证并做好备份前,请保留原始 JPEG。匹配的哈希确认可逆重建成功后,JXL 可以作为体积更小的归档副本。是否删除 JPEG,取决于你的兼容性需求:

  • 需要与任意应用、浏览器或服务分享时,保留 JPEG。
  • 存储空间重要,且使用的软件可以在需要时导出 JPEG 时,可以保留 JXL 作为归档。
  • 对不可替代的图片,或需要最简单恢复路径时,两种格式都保留。

只有在转换路径和验证结果都证明可以恢复原始 JPEG 时,JPEG XL 的归档决定才真正可逆。文件变小本身并不能证明转换可靠。

常见问题​

JPEG XL 是无损格式吗?​

是。JPEG XL 支持无损压缩,但对 JPEG 输入要区分可逆 JPEG 重压缩和像素无损编码:两者都可以保留图片内容,只有在保留重建数据时,可逆路径才能恢复原始 JPEG 字节。

可以在 Mac 上把 JXL 转回 JPEG 吗?​

可以。Image2JXL 支持将 JPEG XL 导出为 JPEG、PNG 或 GIF。需要精确归档时,在支持的情况下使用可逆重建路径;否则,应用仍可以根据解码后的像素生成一张新的兼容 JPEG。

Image2JXL 会上传我的图片吗?​

不会。Image2JXL 用于 Mac 本地转换,选中的文件会在设备上处理,不会上传到在线转换服务。

Image2JXL 能批量转换 JPEG 吗?​

可以。导入文件或文件夹,在本地运行转换,并在整理输出之前查看每个项目的状态。

Image2JXL 能把 WebP 或 AVIF 转为 JPEG XL 吗?​

当前不能。WebP 和 AVIF,以及 HEIC/HEIF、RAW、PSD、SVG、PDF 和 ICO,都不在当前转入 JXL 的输入流程中。

下载 Mac 版 Image2JXL​

如果你更喜欢可视化的本地工作流,可以从 Mac App Store 下载 Image2JXL。导入 JPEG 或文件夹,选择合适的 JPEG XL 路径,查看输出,并在归档源文件前验证一个示例。

也可以阅读更短的 Image2JXL 产品介绍。

内容责任​

本文由 HP60 产品团队负责。上方发布日期标识当前内容版本;产品行为可能在发布后变化,最新限制请以文中链接的产品与支持页面为准。