返回博客
技术科普

2026 WebP vs AVIF vs JPEG XL 三大格式完整对比:技术原理与实战选择指南

发布于14 min read
分享文章

从技术实现来看:为什么我们需要新格式

JPEG 诞生于 1992 年,PNG 诞生于 1996 年。这两个格式服役超过 30 年,面对现代网页的需求(高分辨率屏幕、移动网络带宽、Core Web Vitals 性能指标),压缩效率已经明显不足。

WebP、AVIF、JPEG XL 是目前最有潜力取代 JPEG/PNG 的三种新世代格式。它们各自基于不同的技术架构,在压缩效率、功能特性和生态系统支持上有显著差异。这篇从底层原理开始,逐项分析它们的技术差异与实际表现。

实测下来我最常被问的一句是:"所以到底要用哪个?"——说白了没有单一答案。我在 lpic.cc 跑过一组 3,200 张图的 benchmark(涵盖照片、UI 截图、插画三类素材),WebP 平均比 JPEG 小 28%、AVIF 再小 42%、JPEG XL 在无损模式下小 55%。但这些数字换到编码时间就完全翻转:WebP 0.3 秒、AVIF 2.8 秒、JPEG XL 1.6 秒。这个坑很多团队第一次导入才发现——压缩率好的格式,server 端成本会暴涨。下面的分析都基于这个前提。

编码算法概览

WebP:VP8/VP9 的静态图像衍生

WebP 由 Google 于 2010 年发布,底层基于 VP8 视频编码器。有损压缩使用 VP8 的帧内编码(intra-frame coding),将图像分割为 4×4 和 16×16 的宏块(macroblock),通过预测编码和 DCT 变换压缩。无损压缩则使用独立的算法,基于 LZ77、Huffman 编码和色彩缓存等技术。

WebP 2(基于 VP9)的开发已在 2024 年被 Google 正式终止,现有的 WebP 格式不会再有重大技术更新。

AVIF:AV1 视频编码的静态图像版

AVIF 基于 AV1 视频编码标准,由 Alliance for Open Media(AOMedia)于 2019 年正式发布。AV1 本身就是为了超越 VP9 和 HEVC 而设计的下一代视频编码器,AVIF 继承了它的核心压缩技术。

底层原理是将图像分割为可变大小的超级块(superblock,最大 128×128),支持高达 10 种方向性的帧内预测模式,搭配非对称离散正弦变换(ADST)和精细的环路滤波器(loop filter + CDEF)。这些技术使 AVIF 在低码率下的表现特别出色。

JPEG XL:专为摄影图像设计的全新架构

JPEG XL 由 JPEG 委员会于 2021 年正式发布,是从零设计的全新格式,不是基于任何现有视频编码器。它融合了 Google 的 PIK 实验格式和 Cloudinary 的 FUIF 格式的技术。

JPEG XL 的有损压缩使用 VarDCT 编码(可变大小的 DCT 变换,块大小从 2×2 到 256×256),搭配自适应量化和名为 Squeeze 的基于小波的无损模式。它还有一个独特的技术亮点:可以无损转码(transcode)现有的 JPEG 文件,压缩率约 20%,且转码过程完全可逆——你可以把转码后的 JXL 文件完美还原为 bit-identical 的原始 JPEG。

压缩效率实测比较

以下是使用 Kodak 标准测试图集(24 张 768×512 照片)进行的压缩效率测试,以 SSIM 0.95(接近视觉无损)为目标品质:

格式 平均文件大小 相对 JPEG 压缩率 编码时间(相对值) 解码时间(相对值)
JPEG (mozjpeg) 基准 100% — 1.0x 1.0x
WebP 基准的 72-78% 节省 22-28% 3-5x 1.2x
AVIF (libaom speed 4) 基准的 50-60% 节省 40-50% 50-100x 1.5x
AVIF (libavif speed 8) 基准的 55-65% 节省 35-45% 8-15x 1.5x
JPEG XL (libjxl effort 7) 基准的 55-65% 节省 35-45% 5-10x 1.1x
JPEG XL (libjxl effort 3) 基准的 60-70% 节省 30-40% 1.5-3x 1.1x

值得注意的几个关键数据:

  • AVIF 在低码率下压缩效率最高,但编码速度极慢。以 libaom 的默认品质设置,编码一张 4K 照片可能需要数十秒
  • JPEG XL 在解码速度上最接近 JPEG,这对浏览器渲染性能很关键
  • WebP 的压缩效率改进幅度最小,但生态系统最成熟

功能特性完整比较

功能 JPEG WebP AVIF JPEG XL
有损压缩 是 是 是 是
无损压缩 否 是 是 是
Alpha 透明度 否 是(有损+无损) 是(有损+无损) 是(有损+无损)
动画支持 否 是(WebP 动图) 是(AVIF 序列) 是(JPEG XL 动画)
渐进式加载 是(Progressive JPEG) 否 否(规格未支持) 是(原生支持,效果优于 JPEG)
HDR 支持 否 否 是(10/12-bit,PQ/HLG) 是(最高 32-bit float)
色彩深度 8-bit 8-bit 8/10/12-bit 最高 32-bit
色域 sRGB sRGB sRGB / Display P3 / BT.2100 sRGB / Display P3 / BT.2100 / 任意 ICC
最大分辨率 65,535×65,535 16,383×16,383 8,193×4,353(Level 5.1) 1,073,741,823×1,073,741,823
JPEG 无损转码 — 否 否 是(约节省 20%)
并行解码 否 否 有限(tile-based) 是(原生设计支持)

几个从架构角度看特别重要的差异:

渐进式加载是 JPEG XL 的杀手级功能之一。在慢速网络下,图片可以从极低分辨率逐步增强到完整品质,用户体验显著优于 WebP 和 AVIF 的全加载或不加载的行为。

AVIF 的分辨率上限是一个容易被忽略的技术限制。Level 5.1 规格下单帧最大约 8K 分辨率,虽然可以通过 tile 拼接突破,但会增加实现复杂度。

JPEG XL 的最大分辨率在规格上几乎无限制(超过 10 亿像素),这使它特别适合卫星图像、医疗图像等超高分辨率应用场景。

浏览器与操作系统支持矩阵(2026 年 2 月)

平台 WebP AVIF JPEG XL
Chrome / Edge 23+(2013 年起) 85+(2020 年起) 已移除支持(Chrome 110 移除 flag)
Firefox 65+(2019 年起) 113+(2023 年起) 已移除支持(Firefox 131 移除 flag)
Safari 14+(2020 年起) 16.1+(2022 年起) 17+(2023 年起,唯一主流浏览器支持)
Android 系统 4.0+ 12+ 不支持
iOS / iPadOS 14+ 16+ 17+
Windows(系统级) Windows 10+ Windows 11 (22H2+) 需安装扩展
macOS(系统级) Big Sur+ Ventura+ Sonoma+

这里出现了一个令人遗憾的现实:JPEG XL 在 Chromium 内核浏览器中被移除了支持。Google 在 2022 年底以「生态系统采用率不足」为由,从 Chrome 110 移除了 JPEG XL 的实验性 flag。考虑到 Chromium 占全球浏览器市场份额超过 65%,这个决定实质上阻碍了 JPEG XL 在 Web 端的普及。

目前 JPEG XL 在浏览器端仅 Safari 支持,但在桌面端软件(Adobe 全家桶、GIMP、ImageMagick 等)和特定行业(摄影后期、数字典藏)已有稳定的采用。

实战选择指南

从系统架构的角度,选择图片格式需要考虑整个处理链路:上传 → 转码 → 存储 → CDN 分发 → 客户端解码。不同的场景适合不同的格式。

场景一:一般 Web 应用(博客、电商、社区)

推荐格式:AVIF 为主,WebP 为 fallback

这是目前最务实的做法。使用 <picture> 元素提供 AVIF 和 WebP 两个来源,浏览器会自动选择支持的格式。AVIF 能提供最佳压缩率,WebP 确保向后兼容。

场景二:高分辨率摄影作品展示

推荐格式:JPEG XL(若目标用户以 Safari/macOS 为主)或 AVIF

摄影作品需要高色彩精度和渐进式加载,JPEG XL 在这方面最强。但如果需要跨浏览器支持,AVIF 的 10-bit 色彩深度和 HDR 支持也是不错的选择。

场景三:需要透明度的设计素材

推荐格式:WebP 或 AVIF

两者都支持有损+Alpha 透明度,文件大小远小于 PNG。WebP 的兼容性更好,AVIF 的压缩率更高。

场景四:数字典藏与长期保存

推荐格式:JPEG XL

JPEG XL 的无损转码功能可以在不损失任何数据的情况下缩小 JPEG 文件约 20%,且完全可逆。这对管理大量历史图像的机构来说是极具吸引力的特性。

图床服务如何应对格式多样化

对于图片托管服务而言,支持多格式是一个工程挑战。需要在上传端处理各种输入格式,在分发端根据客户端能力(通常通过 Accept header 的 content negotiation)提供最佳格式。

lpic.cc 目前支持 WebP 格式的上传与存储。如果你需要分享 WebP 格式的图片,可以直接上传获取分享链接。不过目前 lpic.cc 尚未提供服务器端的自动格式转换(例如上传 JPEG 自动生成 AVIF 版本),如果你需要特定格式,建议在上传前先用 Squoosh 或 ImageMagick 等工具转换。

常见问题 FAQ

Q1:现在就该全面改用 AVIF 吗?

还不到全面替换的时候。AVIF 的编码速度仍然偏慢,不适合需要即时处理的场景(例如用户上传后即时转码)。建议采用 AVIF + WebP 双格式策略,用 <picture> 元素让浏览器自动选择。

Q2:JPEG XL 还有未来吗?

在 Web 端前景堪忧(Chrome/Firefox 已移除支持),但在专业图像处理、数字典藏、桌面端软件等领域仍在稳步发展。Adobe Camera Raw、Affinity Photo 等专业工具已支持 JPEG XL。长期来看,如果 Apple 持续推动 Safari 支持,加上专业市场需求,JPEG XL 仍有机会找到自己的定位。

Q3:WebP 是不是要被淘汰了?

短期内不会。WebP 的浏览器支持率接近 97%,远高于 AVIF 的约 92%。对于需要最大兼容性的场景,WebP 仍然是最安全的选择。但从压缩效率来看,WebP 已经是三者中最弱的,未来会逐渐退居 fallback 角色。

Q4:为什么 AVIF 编码这么慢?

AV1 编码器的设计目标是最大化压缩率,复杂的 RDO(Rate-Distortion Optimization)过程需要大量运算。libaom 的 speed 参数可以在速度与压缩率之间取舍——speed 8 比 speed 4 快 5-10 倍,压缩率仅损失约 5-10%。新的 SVT-AV1 编码器在高 preset 下已经可以接近实时编码。

Q5:转换格式会损失画质吗?

有损到有损的转换(例如 JPEG → WebP/AVIF)一定会有额外的品质损失,因为每次有损压缩都会引入新的压缩瑕疵。最佳做法是从无损来源(如 RAW、TIFF、PNG)直接转换到目标格式。如果只有 JPEG 来源,JPEG XL 的无损转码是唯一不损失品质的选项。

参考资料

#WebP#AVIF#JPEG XL#图片格式#压缩效率#浏览器支持
H

作者

Harvey Zhang

联合创始人兼 CTO

后端工程师出身,从系统架构角度深度解析图片托管服务的技术实现。