压缩JPG图像
您在此页面上上传的每个JPEG都会在您自己的机器上解压为原始像素,并由MozJPEG重建,这是Mozilla开发的编码器,能够从1992年的JPEG格式中提取出比标准libjpeg更小的文件。没有任何内容被上传。质量滑块不是您在桌面编辑器中所知道的那种:它是相对于文件在到达之前被压缩的程度来工作的,这样可以防止第二次处理破坏已经很小的JPEG。
一张照片在三种质量设置下
| 滑块 | 输出 | 节省 |
|---|---|---|
| 90 | 347.8 KB | 小35% |
| 60 | 212.4 KB | 小61% |
| 30 | 131 KB | 小76% |

此页面上的质量数字意味着什么
在大多数编码器中输入75,您会得到一个绝对强度,对于每个输入都是相同的。在这里,数字是一个比例。在编码之前,工具检查您JPEG中已经存在的压缩,估计其之前编码器使用的级别,并将您的滑块指向该比例的一部分。从Lightroom以大约90导出的文件,使用70的滑块进行压缩,写入的值接近63;一个网站已经压缩到55的文件,从相同的滑块设置中出来时大约为39。
因此有两个后果。将输出反馈回去不会变成糊状,因为第二次处理测量第一次并相对地瞄准低于它。而且相同的滑块位置会产生来自不同来源的不同文件——相机导出和网页下载并不是从同一个地方开始的——因此请根据结果列表中的前后大小来判断每次运行,而不是根据您设置的数字。
渐进扫描和颜色子采样
MozJPEG的默认设置(此工具保留)生成具有优化哈夫曼表的渐进JPEG。渐进文件作为一系列越来越清晰的全帧传递到达,而不是从顶部展开的条带,因此在慢速连接上,整张照片很早就可以识别。渐进编码还倾向于将文件大小减少几个百分点,这是有损格式中少数的免费优势之一。
第二个默认设置是色度子采样,按编码自动选择。JPEG将亮度与颜色分开存储,因为人眼对亮度的分辨率要高得多,在典型的网页设置下,编码器为每个两乘两的像素块保留一个颜色样本。照片对此完全不在乎。饱和的红色文本、细色图表线条和锐利的徽标边缘则不然——它们会模糊——这就是为什么截图和图表应该使用PNG压缩器而不是这里。
生成损失,以及目标大小
在最坏的情况下,JPEG损坏是累积的,而在最佳情况下几乎是免费的。以一个设置重新保存同一未触碰的图像在经过一两次处理后会稳定下来,因为编码器对相同的值做出相同的决策。在保存之间进行编辑是造成伤害的原因:裁剪、拉直或颜色校正,下一次编码面临新的像素并再次花费其预算——通过五个聊天应用转发的照片上的模糊正是这个原因。无聊的习惯胜出:保留一个主文件,每次从中压缩,并将每个压缩输出视为一次性文件。
对于目标大小,请查看表格中的阶梯:滑块范围的顶部保留了原始字节的三分之二,底部保留了四分之一。在网页上,通常预算在约200 KB以下的全宽英雄照片和在100 KB以下的运行文本图像,均可从4K源轻松达到。对于电子邮件,限制是消息:Gmail拒绝任何超过25 MB的内容,因此一批照片通过滑块范围的中间部分传输时,摄像机原始文件则无法传输。
常见问题
为什么这里的滑块行为与Photoshop的不同?
桌面编辑器将数字视为绝对编码强度。此页面将其视为您JPEG已经携带的质量的一个比例,从文件本身估算,因此在完美导出上滑块80的含义与在网络上已经压缩的文件上滑块80的含义不同。无论如何,结果列表都是事实真相。
我应该为网站使用什么JPG质量?
从80开始并评估输出。背景和缩略图可以容忍50或更低,特别是如果您在显示大小而不是放大到100%时检查它们,在那里任何人都看不到的柔和度看起来令人担忧。上面的表格显示了每个步骤在一张4K照片上实际带来的效果。
这里写的JPEG是渐进的吗?
是的。MozJPEG的渐进模式和优化的哈夫曼编码都是默认开启的,因此文件呈现为快速模糊的传递,随着数据的到达而变得清晰,通常比相同质量的基线编码小一些。
为什么红色文本和细线在压缩后看起来模糊?
色度子采样:JPEG以低于亮度的分辨率记录颜色,而硬边缘的饱和细节正是这种损害的对象。这是格式的特性,而不是滑块的问题——截图、图表和界面捕捉应该使用PNG。
JPEG压缩可以撤销吗?
不可以。丢弃的细节在文件中不再存在,无法恢复——AI放大器可以创造出合理的替代品,这属于生成,而不是恢复。这就是为什么原始导出比此页面上的任何设置更重要。
JPG和JPEG之间有区别吗?
没有任何区别。JPEG是格式的名称;.jpg源于将扩展名限制为三个字母的操作系统。此页面可以读取两者,并无论输入携带哪个扩展名都写出相同的输出。
我应该在压缩之前调整JPG的大小吗?
如果它比将要显示的尺寸大,是的,并且请先调整大小。裁剪像素尺寸会直接删除数据,这比任何编码器设置都要有效,而在调整大小之前进行压缩则浪费了编码细节,调整大小后又被丢弃。
当我在此页面上压缩图像时,它们会去哪里?
无处可去。编码器是运行在页面内的WebAssembly;文件被读取、压缩并提供回下载,而无需离开您的机器。加载页面会获取代码——压缩图像则根本不会获取任何内容,浏览器的网络面板将确认这一点。