← 返回博客

JPEG 质量 80 vs 60 vs 40:我跑了数据,你不用再猜

说到图片压缩,几乎每个人都是这么干的:把滑块拖到 70 到 85 之间的某个位置,点压缩,然后祈祷看起来还行。文件太大就往左拖一点,看着糊就往右挪一点,直到自己失去耐心为止。

我以前也这么干。后来我做了一款在浏览器里跑 MozJPEG 的图片压缩器,就开始琢磨:这个滑块到底在干啥?每调一档,文件大小到底能省多少、又亏多少?有没有一个临界点,再往下压质量就不划算了?

所以我不再瞎猜,直接跑了数据。

我是怎么测的

我挑了四张不一样的图——一张人像、一张有天空和地面的风景、一张纯色背景上的产品图,还有一张夕阳渐变图——然后分别用我们的压缩器在质量 40、60、80、90 下压了一遍。同一个引擎(MozJPEG),同一分辨率(1600×1200),没有任何缩放。这不是教科书上的理论推算,而是从 CompactJPG 所用的同一个库里跑出来的真实字节数。

图片原始 PNGq=40q=60q=80q=90
夕阳495 KB10.6 KB13.3 KB47 KB148 KB
人像637 KB28.7 KB40.2 KB82 KB187 KB
风景567 KB15.4 KB22.5 KB74 KB204 KB
产品图382 KB9.8 KB11.1 KB21 KB67 KB

有几件事一眼就能看出来。

关于质量设置,没人告诉你的三件事

1. 质量 90 几乎从来不值得

从质量 80 提到 90,所有测试图的文件大小都差不多翻了一倍——但画质的提升除非你两张图贴在一起逐像素对比,否则基本看不出来。平均下来,q=90 的体积是 q=80 的约 2.6 倍。也就是多花 160% 的带宽和存储,换来的可能是 2% 的感知清晰度提升。如果你要服务上百万张照片,这个差距很烧钱;你要只是发个 Instagram,根本没人看得出来。

2. 质量 60 是大多数网页用途的甜区

从 80 降到 60,文件大小差不多砍掉一半(平均是原来 q=80 输出的 45%)。对于大多数网站配图、博客图片和邮件附件来说,画质损失非常细微——平滑的渐变还是平滑,人脸看着正常,文字依然清晰。只有当你放大到 100% 以上、盯着发丝或树叶这类细节时,才会看到轻微的块状感。正常观看尺寸下?绝大多数人和 q=80 根本分不出来。

3. 质量 40 是有代价的

到了 q=40,文件变得很小——这些测试图大多不到 30 KB。如果你正在死磕某个严格的上传限制(比如很多政府表格要求的 20 KB 上限),这招很好用。但代价是:平整区域还行,边缘会稍微发虚,任何带细密细节的地方(布料纹理、树叶、印刷文字)都会开始出现肉眼可见的 JPEG 伪影。需要的时候再用,别当成默认设置。

同一张人像在 JPEG 质量 80(82 KB)与质量 40(29 KB)下的对比,使用 MozJPEG 引擎
并排对比:同一张图在质量 80(左,82 KB)和质量 40(右,29 KB)下。低设置把文件砍掉了 65%,但请注意右侧面板中面部和肩膀边缘更软。这个取舍能不能接受,完全取决于图片最后用在哪里。

那你应该用哪个质量?

别再盯着那个数字了,想想图片最后去哪儿:

有一件事能让这事变简单

大多数人随手在滑块上选个数字,是因为他们要等下载完压缩文件才能看到结果。压缩、下载、打开、眯眼、返回、再调、再压——烦死人,还没人喜欢。

有用的做法是:拖动滑块时实时看到输出体积的变化,并且在确认前先快速预览一下。我们的工具就是这么工作的——你把图拖进来,拉质量条,预测体积瞬间跟着变。不用猜,不用反复折腾。而且你的文件也绝不会离开你的设备,所以你随便试不同设置,不用担心隐私问题。

你不需要背下“博客用质量 78 最合适”这种口诀。你只需要一个能在你做决定时把数字摆在你面前的工具。

找到你图片的甜区

上传任意图片,拖动质量滑块,文件大小实时变化。免费、纯浏览器、私密——你的文件绝不会离开你的设备。

免费压缩并对比 →
关于作者:Chuan 一名独立开发者,受够了在 JPEG 滑块上瞎猜。于是做了 CompactJPG,让你不用再猜。不折腾压缩引擎的时候,大概在为自己照片的质量设置过度纠结。