2026 WebP vs AVIF vs JPEG XL 三大格式完整对比:技术原理与实战选择指南
从技术实现来看:为什么我们需要新格式
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 的无损转码是唯一不损失品质的选项。