要压缩WebP,用有损模式以75左右的质量重新编码(这是Google的cwebp编码器的默认值),再把它调整到实际显示的宽度。平面图形和截图用无损或近无损模式。如果有硬性的大小限制,可以设置KB目标的WebP压缩工具会替你找到合适的质量。

WebP的文件大小本来就往往比JPEG和PNG小,但保存不当的WebP仍然可能很大。模式、质量数值和像素尺寸都有影响,而尺寸通常影响最大。

如何在线压缩WebP图片

当表单或页面体积预算给出固定数字时,用设定目标大小的工具比反复试错更快。WebP压缩工具在你的浏览器中运行,文件不会上传到服务器。

  1. 打开工具,添加一个或多个WebP文件。
  2. 输入需要的KB大小,或手动设置质量。
  3. 开始压缩。工具会先降低质量,只有单靠降低质量无法低于目标时,才会缩小尺寸。
  4. 下载结果,在画面最复杂的区域以100%缩放检查,比如头发、树叶或小字。

如果你手上是JPEG或PNG,先用PNG或JPG转WebP转换。尽可能从原图转换。WebP会忠实保留已压缩JPEG的块状瑕疵,你还得为存储这些瑕疵多花字节。

刚接触这种格式?WebP文件是什么一文介绍了它的来历、支持的功能以及哪些应用能打开它。

有损、无损还是近无损:WebP该用哪种模式?

WebP有不止一种存储图片的方式,模式比任何单一的质量数字都更重要。

有损WebP

它的原理和JPEG一样,会舍弃你不太会注意到的细节。适合照片、商品图、首屏大图以及任何有柔和渐变的图片。它还支持透明(JPEG做不到),所以透明背景上的抠图商品也可以用有损模式,保持文件小巧。

无损WebP

和PNG一样,每个像素都精确保留。适合标志、图标、图表和带清晰文字的截图。它通常比同一张图存成PNG更小。

近无损WebP

这是Google编码器中的折中选项。它会轻微调整像素值,让无损编码器压得更好,肉眼几乎看不出影响。适合那些用有损模式会把边缘弄糊、用无损模式又太大的截图和插画。

不确定用哪种模式?两种方式各导出一次比较一下。保留文件更小、并且全尺寸下看起来仍然正常的那个。贴了照片的截图是典型的棘手情况,近无损往往效果最好。

Google在cwebp参考页面上介绍了这三种模式,以及质量和目标大小选项。

压缩WebP时质量该设多少?

WebP质量范围是0到100,不设置时cwebp使用75。这个默认值是处理照片的好起点。在此基础上:

  • 对大家会仔细看的首屏大图,或带肤色和细腻纹理的图片,可以提高到80到85左右。
  • 对缩略图、卡片图和被文字盖住的背景照片,可以降到60到70左右。
  • 带文字的图片避免用很低的值。有损模式下字母很快就会糊掉。

WebP的质量数值和JPEG的质量数值并不一一对应。不要照搬JPEG的设置,以为意思相同。请在实际显示尺寸下用肉眼比较输出效果,最好在手机和笔记本上都看看。

如何通过调整尺寸缩小WebP

尺寸通常比质量更重要。一张存成3000像素宽的图片,放在屏幕上只有800像素宽的位置,像素数大约是所需的14倍。任何质量设置都弥补不了这么大的差距。

  1. 找出图片在你网站上显示的最大宽度。主题或布局设置通常会告诉你。
  2. 如果想在高密度的手机和笔记本屏幕上也清晰,就把它乘以2。
  3. 用调整图片大小工具或你的编辑器缩放到这个宽度,并锁定宽高比。
  4. 压缩缩放后的副本。

对于响应式网站,导出几种宽度,让浏览器通过srcset选择。MDN的响应式图片指南解释了这种标记的用法。这样浏览器在手机上下载小文件,在宽屏显示器上下载大文件。

动画WebP文件也是同样的道理。每一帧都会增加大小,所以减少帧数或像素尺寸比微调质量有效得多。把动画缩短、尺寸缩小,通常是切实可行的办法。

为什么我的WebP文件比原图还大?

这比人们想象的更常见。常见原因:

  • 源文件是一张颜色很少、优化良好的小PNG,却用高质量的有损模式转换了。这类图片试试无损模式。
  • 源文件本来就是低质量的JPEG。用更高的质量重新编码,会让WebP把JPEG的噪点全部细致地存下来。
  • 质量设成了100。在有损模式下,这会得到很大的文件,却几乎没有可见的提升。
  • 图片保留了相机的完整尺寸。

有些工具在新版本更大时会自动保留原文件。如果你用的工具不会这样,在替换网站上的任何图片之前,请自己比较一下两个文件的大小。

对WebP来说,元数据很少是罪魁祸首。cwebp默认不会从源文件复制EXIF、XMP或颜色配置文件数据,不过其他应用可能会复制。如果转换后颜色发灰,很可能是缺少颜色配置文件。保留配置文件重新导出即可(cwebp有一个 -metadata icc 选项可以做到)。

什么样的WebP压缩设置适合网站和表单?

对网站来说,要从页面总大小考虑。首屏大图是大多数页面上最重的东西,所以要重点处理:宽度合适、有损模式、质量在70多到80出头。缩略图和图标可以低得多,或改用无损模式。WebP与PNG对比指南更深入地讲解了如何为网站性能选择格式。

当前所有主流浏览器都能显示WebP,所以用在网站上很安全。上传表单就是另一回事了。很多网站和旧版桌面应用仍然拒收它。在Mac上,“预览”能打开WebP文件,但导出菜单中没有WebP输出格式,所以无法在那里重新存成WebP。

如果网站或应用拒收你的文件,用WebP转图片转换。照片选JPG,带透明的图片选PNG。然后像往常一样把JPG或PNG压缩到表单的限制以内。

适合这项工作的工具

在浏览器中运行的免费工具

WebP压缩在浏览器中把WebP图片缩小到以KB为单位的目标大小PNG转WebP把JPG或PNG原图转成WebP调整图片大小缩小到页面实际显示的尺寸WebP转图片把WebP转成JPG或PNG,给不接受它的应用使用

常见问题

压缩WebP时质量设多少最好?

从75开始,这是Google的cwebp编码器的默认值,然后凭肉眼调整。大型首屏图片可能需要80到85,缩略图用60到70通常就不错。

怎么缩小WebP又不损失画质?

图形和截图用无损模式,并把图片调整到实际显示的宽度。无损模式保留每一个像素,缩小尺寸可以减小文件,在显示尺寸下看不出损失。

有没有不上传文件的免费WebP压缩工具?

有。ConvertorLab的WebP压缩工具在你的浏览器中运行,图片留在你的设备上。你可以设置KB目标大小,也可以手动选择质量。

无损WebP比PNG小吗?

通常是的。无损WebP和PNG一样保留每个像素,但往往能把图形、标志和截图打包成更小的文件。

压缩WebP会去掉透明吗?

不会。有损和无损WebP都支持Alpha通道,所以透明背景在压缩后依然保留。只有转换成JPG之类的格式,才会丢失透明。

为什么转成WebP之后图片反而变大了?

通常是用错了模式或质量,比如对简单图形用了高质量的有损模式,或者重新编码了一张噪点多的JPEG。图形试试无损模式,照片试试更低的质量。