Image Compressor
← 返回博客

JPG、PNG、WebP 怎么选:网页图片格式完全指南

先看结论:四种格式的横向对比

选格式不是选最好的那个,而是选代价最小的那个。同样一张图,装进不同容器后的体积、画质、兼容性差别很大。

特性 JPEG PNG WebP AVIF
有损压缩 支持 不支持 支持 支持
无损压缩 不支持 支持 支持 支持
透明通道 不支持 支持 alpha 支持 alpha 支持 alpha
动画 不支持 不支持(APNG 例外) 支持 支持
典型体积 照片场景较小 截图场景偏大 比 JPEG 小 通常最小
浏览器兼容性 全平台通用 全平台通用 现代浏览器普及,老版本 IE 不支持 较新版本才支持
编码速度 快 快 中等 偏慢

一句话概括:照片优先 JPEG 或 WebP,需要透明与锐利边缘优先 PNG,追求极致体积且能接受兼容性代价时考虑 AVIF。

JPEG:照片的默认答案

JPEG 诞生时间最早,生态最成熟,几乎任何设备、任何软件都能打开。它用离散余弦变换加量化来丢弃高频细节,因此对连续色调的摄影内容效率很高,对纯色块和文字则相当不友好。

真正让 JPEG 到今天仍然不可替代的是兼容性。邮件客户端、政务系统、证件照上传、老旧的 CMS 后台,默认接受的往往就是 JPEG。当你不知道对面是什么环境时,JPEG 是风险最低的选择。

它的代价也很明确:没有透明通道,不支持动画,每次重新保存都会再损失一次画质。所以 JPEG 适合作为交付的终点,不适合作为反复编辑的中间格式。

PNG:透明与锐利边缘的守护者

PNG 是无损格式,压缩靠的是行滤波加 DEFLATE,不丢任何像素。它有两种常见形态:24 位真彩加 alpha,和 8 位调色板加 alpha。后者最多只保留 256 种颜色,体积能大幅下降。

PNG 的优势场景非常清楚:

  • 需要透明背景的图标、logo、贴纸
  • 界面截图、代码截图、含大量文字的长图
  • 线条、色块、扁平插画等颜色数量有限的图形
  • 需要反复编辑、不希望在保存中损失画质的中间素材

PNG 的劣势同样清楚:直接存一张照片会得到比 JPEG 大好几倍的文件。因为照片的相邻像素几乎不重复,无损压缩找不到多少冗余可去掉。对照片用 PNG,相当于放弃了压缩这件事本身。

如果必须用 PNG 交付照片,唯一有效的做法是减少颜色数量。在 图片压缩工具 里,颜色数滑杆可以在 2 到 256 之间调整,配合无损模式,能在肉眼看不太出来的前提下省下可观体积。但请记住,PNG 本身是无损格式,调质量参数没有意义,能动的只有颜色数量。

WebP:兼容性与体积的平衡点

WebP 是当前网页场景里性价比最高的格式。它同时支持有损、无损、透明和动画,有损模式在同等观感下通常比 JPEG 更小,无损模式通常比 PNG 更小。

它还有两个实用特性。一是对透明区域的处理比 PNG 更高效,带透明背景的图形往往能明显瘦身。二是支持把多个帧打包成动画,用来替代体积偏大的 GIF 动图。

需要留意的边界有两个。一是极老的浏览器不支持 WebP,如果你的站点还有相当比例的旧环境用户,应该配合 <picture> 标签做回退,而不是把 JPEG 全量替换掉。二是把已经压过头的 JPEG 转成 WebP,收益常常有限,原因在下一节展开。

用 图片压缩工具 可以一次性完成两件事:把 JPG 或 PNG 转成 WebP,或者对已有的 WebP 继续调整质量。质量滑杆范围是 1 到 100,默认 80,工具会读取原图量化表估算原本的质量,原图已经低于 80 时不会继续降质。

AVIF:更小,但现实约束更多

AVIF 基于更新的视频编码技术,在相同观感下通常能比 WebP 再小一截,在低码率下的表现尤其突出,同时支持透明与动画。

但它目前的现实约束也很明显:浏览器支持范围比 WebP 窄,编码速度慢,遇到不支持的客户端需要准备回退方案。对于一个还能用 WebP 满足需求的站点,AVIF 带来的收益往往抵不过新增的兼容性维护成本。合理的做法是把它当作渐进增强的一层,而不是唯一格式。

什么时候应该转换格式

转换格式有收益的前提是,目标格式能在同等观感下真正减小体积。以下情况值得转:

  • PNG 照片转 JPEG 或 WebP:从无损容器换到有损容器,体积下降最明显
  • 带透明的图形转 WebP:透明区域编码效率更高
  • 动态 GIF 转 WebP 或 AVIF:动图体积通常能大幅下降
  • 网页首屏大图转 WebP:在支持范围内换取更快的加载速度

什么时候不该转换

格式转换不是免费的午餐,以下几种情况转了大概率是白费力气,甚至更糟。

已经深度压缩过的 JPEG 再转 WebP。原图在保存成 JPEG 时已经丢掉了高频细节,剩下的信息量本来就少,WebP 能榨出的额外空间有限,通常只有几个百分点到一成左右。而这一次重新编码又会引入新的有损损失,属于典型的得不偿失。判断依据很简单:如果一张 1600 像素宽的照片已经只有 150KB 左右,就不要再折腾格式了。

图标、截图为了省体积转成有损格式。省下的那点体积会以肉眼可见的脏边和色斑为代价,观感下降远大于收益。

为了统一而统一。把站点所有图片都转成同一个格式,看起来很整洁,但如果原图已经是最优解,这次转换只会增加一次画质损失。

忽略了服务器侧已有的自动优化。如果托管平台已经在边缘节点做了格式协商,手工再转一遍可能完全重复。

判断是否值得转格式,可以先问自己:原图现在的体积是多少,目标体积是多少,中间差的那部分是不是真的有价值。答不上来就先别转。

中国大陆浏览器环境的现实考量

技术选型要落地,就得考虑实际用户的浏览器分布。实际情况大致是这样的:

  • 桌面端主流浏览器的新版本都已支持 WebP,微信内置浏览器、手机厂商自带浏览器的新版本也普遍支持。
  • 不支持 WebP 的主要是较老的 Android 系统浏览器、老版本 IE 内核,以及部分定制的老旧内核。
  • AVIF 的支持面明显更窄,不建议在面向大众的中文站点上作为唯一格式。

因此比较稳妥的策略是:

  1. 生成 WebP 与 JPEG(或 PNG)两份,通过 <picture> 或内容协商按浏览器能力分发。
  2. 主图、封面这类影响首屏的图片优先用 WebP。
  3. 需要用户下载、转发、打印、上传到第三方系统的图片,输出 JPEG 或 PNG,因为那些系统很可能不认 WebP。
  4. 证件照、报名照、发票、合同扫描件等业务场景,严格按对方要求提交,不要自作主张换格式。

一份可落地的选择清单

面对一张具体的图片时,可以按下面的顺序判断:

  • 需要透明通道?需要就排除 JPEG,选 PNG 或 WebP。
  • 是文字、界面、图标类内容?选 PNG 或无损 WebP,不要用有损压缩。
  • 是照片,且不确定使用环境?输出 JPEG,质量 80 到 85。
  • 是照片,用在自家网页且已确认兼容性?输出 WebP,质量 75 到 82。
  • 是动图?优先 WebP,需要兼顾老环境时保留 GIF。
  • 是矢量图形?保留 SVG,用坐标精度控制体积,不要转成位图。
  • 原图已经很小、已经压过?不要再转格式。

把清单落到操作上,照片可以从 JPG 图片压缩 或 WebP 图片压缩 开始,截图与图标可以使用 PNG 图片压缩,再用 图片压缩完整教程 里的对比预览功能确认画质,最后决定是否采用。

想直接动手试?打开 在线图片压缩 - 免费压缩 JPEG、PNG、WebP ,把图片拖进去即可,全程在浏览器本地处理。