这个页面的代码没跑起来。

直接从文件夹里打开 index.html,浏览器会拦下 JavaScript 模块,于是你选好图片之后,页面不会有任何反应。改用 http 把这个文件夹提供出去:

powershell -ExecutionPolicy Bypass -File serve.ps1

然后打开 http://localhost:8080/。

图片压缩 — 压缩到文件大小上限内

说个大小,剩下的它来算。

语言: 简体中文
查看源码
你的图片在浏览器里处理,无须上传处理。

压缩在你自己的浏览器里、用你自己的硬件完成,用的是浏览器本来就带的编码器。这个工具没有任何联网功能,不取东西,也不发东西。就算真有,这个页面的另一头也没有服务器能接住一张图。

实时检查: 检查中…

离线: 检查中…

别信我们嘴上说的。打开开发者工具,盯着“网络”面板,压一张照片试试。没有一条请求带着图片、缩略图、文件名,或者你选中内容里的任何一个字节。或者干脆拔掉网线,照压不误。

1 选图片

2 说清楚最大能有多大

别的压缩工具这一步都做反了。它们丢给你一个画质滑块,让你自己猜哪一档能压进人家给的限额。这里反过来,你把限额说出来,工具去找刚好塞得进去的那个最高画质,然后把剩下的额度用满,不会把你要的 500 KB 压成一个 300 KB 的文件交回来。

实在不行,可以把图片做小 只有画质单独往下降、已经降到压缩痕迹开始露出来的时候才会动它。过了那一档,像素少一点但个个干净,比像素多一堆却全糊了好看。关掉它就是尺寸一格不动,目标再紧也全从画质里出。

允许它怎么达到这个数

3 压缩

以 Markdown 查看

图片怎么压到指定大小

  1. 选好你的图片。拖到下面的方框里,或者点开自己挑。浏览器直接从你的硬盘上读,这期间没有东西发出去。
  2. 填上人家要求的那个大小。上传框死活不收你照片,那多半是 100 KB;申报系统常见 500 KB;网页要开得快,2 MB。最常用的四个数字直接做成了按钮。
  3. 按“压到这个大小”。每张图会被反复编码几遍,工具一步步逼近那个既能塞进去、画质又最高的档位。本来就没超标的文件,原样放行,一个字节都不动。
  4. 看看代价有多大,然后下载。每个结果都写明存成了什么格式、用了哪一档画质、尺寸有没有变,以及量出来跟原图有多接近。按“对比”,两张图并排放着看。

说得更细的版本

如何将图片压缩到文件大小上限内 上传框要 500 KB,你的照片有 4 MB。一个大小限制到底要你付出什么,先动哪个设置,以及 PNG 为什么不像 JPEG 那样能压。

常见问题

我的图片会传到什么地方去吗?

不会。解码、压缩、测量,全由你自己的浏览器在你自己的硬件上完成,用的是浏览器自带的 JPEG、PNG 和 WebP 编码器。这个工具没有任何联网功能,不取东西,也不发东西。页面的 Content-Security-Policy 把它可能联的地址全列了出来,没有一个是本站的。

如何达到文件大小上限?

工具编码并测量多个候选结果,寻找上限内最高的画质。如果能够生成合适的文件,结果达到或低于目标,但不一定等于输入的精确字节数。已低于上限的文件保持不变。如果仅调整画质仍不够,工具会缩小尺寸;使用前请检查结果。

所谓“损失最小”,具体指什么?

三件很具体的事。第一,本来就没超标的图原样放行,不重新编码。第二,先花画质,后动分辨率,而且画质只降到压缩痕迹开始露出来那一档为止。再往下,工具改成把图片做小、把画质提回去,因为像素少一点但个个干净,比像素多一堆却全糊了好看。第三,一旦找到塞得进去的结果,搜索还会往回顶,把剩下的额度用满。你要 500 KB,就不会拿回一个 300 KB 的文件。

每个结果上的 SSIM 和 PSNR 是什么?

是这次压缩的代价,做法是把结果解码回来跟原图逐一比对。SSIM 比的是局部的明暗、对比和结构,比数一数多少像素变了更接近人眼在意的东西,大约在 0.98 以上,两张图并排看已经很难分辨。PSNR 是传统的那个分贝值。两个数都在你自己的机器上算,也都摆出来,好让“损失很小”这句话是能核对的,而不只是嘴上说说。

它能读、能写哪些格式?

可以读取浏览器能解码的 JPEG、PNG、WebP、GIF、BMP 和 AVIF 等图片。新编码使用 JPEG、PNG 或 WebP。已小于目标大小的文件会原样返回,保留原格式和元数据。需要编码时,自动模式先使用浏览器能输出的原格式;无法输出时,GIF 先使用 PNG,AVIF、BMP 或 MIME 类型不明的输入先使用 JPEG。随后,如果 WebP 能以更少的可见损失满足目标,自动模式可能选择 WebP。

为什么 PNG 压不下去多少?

因为 PNG 是无损的,根本没有画质这个旋钮可拧。想让一个 PNG 变小,只能减像素或者减颜色,所以选了 PNG,工具只能靠缩尺寸去够那个目标。图片要是照片,换 JPEG 或 WebP 能离目标近得多,而且看上去完全没问题。要是 logo 或者带透明的截图,WebP 能留住透明,换成 JPEG 那块地方会被填成白色。

压缩会把 EXIF 和 GPS 信息一起去掉吗?

重新编码的结果不保留原有 EXIF、GPS、时间戳等元数据,因为画布只有像素。已小于目标大小的文件会原样返回,元数据仍保留。EXIF 查看与清除可查看和编辑 JPEG、PNG 和 WebP 元数据,不重新编码图片。AVIF 支持只读查看提取到的 EXIF,清理时将第一张解码后的图片转换为新的 PNG,颜色或 HDR 可能改变。

免费吗?要注册吗?

免费,没有账号,不用登录,没有试用期,也没有水印。文件的数量和大小同样没有上限,因为没有哪台服务器在为它们掏钱,活是在你自己的机器上干的。本站带广告,经费就是这么来的,广告拿不到关于你图片的任何信息。

断网能用吗?

能。页面开一次之后断网,它照干不误。这也是证明“什么都没上传”最省事的办法。一个把图片送出去压缩的工具,拔线那一刻就停了。