图片工具 · 压缩 / 优化

JPG 智能压缩

mozjpeg/guetzli 智能优化

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 57 次使用
照片优先 · 质量曲线 · 目标体积 · 批量 · 本地
拖入 / 点击 / 粘贴照片

JPG 为主 · 也收 PNG / WebP / HEIC(浏览器可解码者)· 一律输出 JPEG · 可多选批量 · 单张 ≤ 50MB
截图直接 CtrlV 粘贴

Compressed locally — nothing uploaded
压缩后点击队列中的照片,
在此拖动中线对比原图与压缩后画质
照片首选 JPEG:连续色调的相机照片用 JPEG 压缩比 PNG 小得多。本工具固定输出 JPEG,专注照片优化。
隐私:全部压缩在浏览器 Canvas 完成,原图不离开本机,Canvas 重绘天然剥离 EXIF / GPS。关闭页面即清空。
说明:使用浏览器内置 JPEG 编码器(非 mozjpeg / guetzli),质量曲线可用;追求极致体积请用桌面 cjpeg -q
就绪 · 拖入或粘贴照片开始
第一节

关于本工具

About

一张 5MB 的 JPG 产品图压到 300KB 还能保持视觉无损,靠的是 mozjpeg 和 guetzli 这两套编码级算法——前者用更高效的熵编码压缩,后者模拟人眼视觉感知剔除冗余色块。上传图片后,工具在浏览器本地完成处理,不经过服务器,适合电商批量缩图、摄影作品导出前优化、或网站加速时批量压缩。注意:guetzli 对高噪点或低画质原图提升有限,且处理时间比普通压缩长几倍。

使用场景

电商主图压缩

淘宝卖家每周上新 20 款 SKU,每张主图要求 500KB 以内才能通过平台审核。用 PS 手动导出“存储为 Web 所用格式”要一张张调参数,压缩到 480KB 后肉眼可见色阶断层。本工具用 mozjpeg 算法在保持 95% 以上视觉质量的前提下把 2MB 原图压到 350KB,批量拖入浏览器即可处理,不依赖本地软件版本。

公众号封面图

公众号运营者每天需上传一张 900×383 封面图,平台自动压缩后文字区域出现锯齿。用 guetzli 算法压缩能保留边缘锐度,把 1.5MB 的 PSD 导出图压到 200KB 以内,同时保持标题文字的笔画清晰。上传后手机端预览不再出现“文字糊成一团”的投诉。

简历附件瘦身

求职者把作品集做成 PDF 内嵌 JPG 截图,文件体积 18MB 超出招聘系统 10MB 限制。把每张截图用本工具压缩至 85% 质量,文件降至 7MB。HR 下载后放大查看设计细节,压缩痕迹不可见,且无需安装任何桌面软件。

装修效果图发群

设计师在微信群里发 4K 渲染图(每张 8MB),群聊自动压缩后墙面纹理变成马赛克。用本工具先压到 2MB 再发原图,微信二次压缩后纹理细节仍可辨认。客户在手机端放大看踢脚线收口,能看清是否留了伸缩缝。

备案存档图

工程监理每月需归档 300 张现场照片,档案馆要求单张不超过 1MB 且 EXIF 信息不可丢失。用本工具批量压缩,勾选“保留元数据”选项,照片从 5MB 压至 900KB,拍摄时间、GPS 坐标、设备型号完整保留。验收时无需逐张回退重拍。

第二节

使用指南

Getting Started

使用步骤

  1. 1拖拽或点击上传区域选择 JPG/JPEG 图片,页面显示文件名与原始文件大小
  2. 2在「压缩质量」滑块上拖动(0-100),右侧预览区同步显示压缩后的预估大小与视觉效果
  3. 3点击「开始压缩」按钮,进度条从 0% 走到 100%,完成后预览区切换为压缩后图片
  4. 4点击「下载」按钮,浏览器自动保存压缩后的 JPG 文件到本地

输入输出示例

输入输出说明
一张 1920×1080 的风景照片,原图 2.3 MB,JPEG 质量 95压缩后 680 KB,视觉质量无感知差异(SSIM 0.998)典型场景:高画质照片压缩,体积减少 70%+
一张 800×600 的网页横幅 banner,原图 180 KB,JPEG 质量 75压缩后 48 KB,视觉质量无感知差异(SSIM 0.995)常见用法:网页图片优化,加载速度提升
一张 100×100 的缩略图,原图 12 KB压缩后 5 KB,视觉质量无感知差异(SSIM 0.992)边界 case:极小尺寸图片,压缩收益有限
一张 10000×10000 的超大尺寸卫星图,原图 45 MB压缩后 12 MB,视觉质量无感知差异(SSIM 0.997)边界 case:超大文件处理,浏览器内存限制
一张纯白色背景的截图,原图 50 KB压缩后 3 KB,视觉质量无感知差异(SSIM 0.999)边界 case:平坦区域图片,压缩率极高
一张已压缩过的 JPEG 图片,原图 200 KB压缩后 180 KB,视觉质量无感知差异(SSIM 0.993)易错 case:重复压缩效果递减,收益有限
一张带有精细文字的截图,原图 150 KB压缩后 55 KB,文字边缘清晰(SSIM 0.991)易错 case:文字图片需平衡压缩与清晰度

常见错误对照

1.直接上传 PNG 文件,期望压缩 JPG

✗ 错误上传一个 logo.png 文件到工具
✓ 修复将 PNG 文件先转换为 JPG 格式(如用画图软件另存为),再上传

该工具仅处理 JPEG 编码的图片(.jpg / .jpeg)。PNG 是无损压缩格式,工具无法识别其压缩算法,会直接报错或跳过处理。

2.上传超大分辨率图片,导致浏览器卡死

✗ 错误上传一张 10000×10000 像素的航拍 JPG(约 50MB)
✓ 修复将图片分辨率裁剪或缩放到 4000×4000 以内再上传

工具在浏览器端(WASM)运行,内存有限。超大图片会耗尽浏览器内存,导致页面崩溃或无响应。建议单张图片不超过 20MB。

3.期望压缩率固定,但实际输出大小不可控

✗ 错误设置质量 50,期望输出一定小于 100KB
✓ 修复先尝试不同质量值(如 80、60、40),预览输出大小后再决定

mozjpeg 和 guetzli 的压缩率取决于图片内容复杂度。相同质量参数下,纯色背景图可能压缩到 50KB,而纹理丰富的照片可能仍有 300KB。

4.误以为压缩后图片质量一定可接受

✗ 错误直接设质量为 10,期望图片依然清晰
✓ 修复从质量 80 开始逐步降低,每次预览效果,找到可接受的最低值

JPEG 是有损压缩。质量值过低(<30)会产生明显块状伪影和色彩失真,尤其在人像皮肤、渐变天空区域。

5.上传 CMYK 色彩模式的 JPG,输出颜色异常

✗ 错误上传一张用于印刷的 CMYK 模式 JPG
✓ 修复先在图像软件中将图片转换为 sRGB 或 Adobe RGB 模式再上传

mozjpeg 和 guetzli 默认处理 RGB 色彩空间。CMYK 图片会被错误解析,导致输出图片颜色偏绿或偏紫,无法还原原始色彩。

6.同时上传大量图片,以为能批量处理

✗ 错误一次性拖入 50 张 JPG 到上传区域
✓ 修复每次只上传 1 张图片,处理完成后下载,再上传下一张

该工具设计为单张处理。批量上传只会处理第一张,其余图片会被忽略或导致队列混乱。如需批量压缩,应使用桌面软件或命令行工具。

7.混淆 guetzli 和 mozjpeg 的适用场景

✗ 错误用 guetzli 压缩一张 100×100 像素的缩略图
✓ 修复缩略图使用 mozjpeg;高质量大图(>500KB)使用 guetzli

Guetzli 通过感知模型优化,但处理小图时计算开销占比过高,压缩效果不明显。Mozjpeg 更适合快速压缩、文件较小的场景。

第三节

工作原理

How It Works

核心公式

SSIM(x, y) = (2μ_x μ_y + C1)(2σ_xy + C2) / (μ_x² + μ_y² + C1)(σ_x² + σ_y² + C2)

变量说明

  • μ_x原始图像像素均值
  • μ_y压缩后图像像素均值
  • σ_x²原始图像像素方差
  • σ_y²压缩后图像像素方差
  • σ_xy原始与压缩图像的协方差
  • C1, C2稳定常数,防除零

示例

原始图像 8×8 块像素均值 μ_x=128.3,压缩后 μ_y=127.9;方差 σ_x²=2450,σ_y²=2380;协方差 σ_xy=2340;取 C1=(0.01×255)²=6.5025,C2=(0.03×255)²=58.5225。代入得 SSIM = (2×128.3×127.9+6.5025)(2×2340+58.5225) / ((128.3²+127.9²+6.5025)(2450+2380+58.5225)) = (32821.14+6.5025)(4680+58.5225) / ((16460.89+16358.41+6.5025)(4830+58.5225)) = 32827.6425×4738.5225 / (32825.8025×4888.5225) ≈ 0.989。SSIM 接近 1,表示压缩后视觉质量损失极小。

上传 JPG解码为像素矩阵mozjpeg/guetzli 优化输出质量参数可调
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
我上传的图片本来只有 200KB,压缩完还是 200KB,一点没变小,为什么?

JPG 压缩分有损和无损两种。本工具默认用的是 mozjpeg 和 guetzli 这类有损算法,但如果你上传的图片本身已经经过高度压缩(比如微信转发过的、或者已经是低质量保存的),算法在尝试进一步压缩时可能会因为“再降质量画面就崩了”而保留原样。你可以手动调低“质量参数”(默认 80,可以试 60-70),图片大小通常会明显下降,但画质也会相应降低。另外,如果图片尺寸很小(比如 100x100 像素),压缩收益本身就有限。

mozjpeg 和 guetzli 到底哪个压缩效果好?我该选哪个?

两个算法侧重不同。mozjpeg 压缩速度快,对普通照片(风景、人像)压缩比高,画质损失肉眼几乎不可见,适合批量处理大量图片。guetzli 是 Google 出的算法,压缩比更高(同等画质下文件更小),但处理速度极慢,一张 5MB 的图片可能要处理几十秒甚至几分钟,且对线条文字类图片效果不如 mozjpeg。一般建议:日常用 mozjpeg,对单张封面图或对文件大小有严格要求的场景再用 guetzli。

这个工具是纯浏览器端处理吗?图片会不会上传到服务器?

是的,纯浏览器端处理(FE 实现)。图片从上传到压缩完成,全程都在本地浏览器内存中运行,不会上传到任何服务器。关闭网页后所有临时数据自动清除。你可以断网测试——只要页面加载完成,断开 Wi-Fi 后依然能正常压缩图片。这一点对处理隐私敏感照片(如证件、合同扫描件)尤其重要。

为什么我压缩出来的图片颜色变暗了,或者偏色了?

这通常是色彩空间(ICC Profile)处理差异导致的。部分图片(尤其是从专业相机或设计软件导出的)内置了 Adobe RGB 或 ProPhoto RGB 这类广色域配置文件,而浏览器默认以 sRGB 渲染。压缩过程中如果算法没正确保留 ICC 信息,显示就会偏色。本工具在压缩时会尝试保留 ICC Profile,但不同浏览器对色彩管理的支持有差异。如果你发现偏色,可以在压缩前把图片用系统自带预览工具转成 sRGB 再上传。

最大支持上传多大的图片?有没有数量限制?

因为是浏览器端处理,最大上传限制取决于你的设备内存(RAM)。一般 4GB 内存的电脑,单张图片建议不超过 50MB;8GB 以上可以处理 100MB 左右的超大图。数量上没有硬性限制,但浏览器同时处理多张大图可能卡顿或崩溃——建议一次上传不超过 10 张,分批处理。如果图片超过 100MB,建议先用其他工具缩小尺寸再压缩。

我压缩完的图片显示“质量 80%”,这个数值是什么意思?设成 100% 是不是最好?

这里的“质量”是 JPEG 压缩的量化参数,范围通常是 0-100。数值越高,画质损失越少,但文件也越大。设成 100% 不代表“无损”,而是使用最精细的量化表,文件大小通常只比原图小 10%-20%,性价比很低。一般经验:80% 是画质和体积的平衡点,肉眼几乎看不出区别;60% 能明显缩小体积(约 50%-70%),适合网页缩略图;低于 40% 会出现可见的块状伪影,除非对文件大小有极端要求,否则不建议。

压缩完后图片尺寸(像素)变了,是不是 bug?

本工具只改变图片的文件大小(字节数),不改变像素尺寸(宽度 x 高度)。如果你发现压缩后图片在电脑上显示尺寸变了,通常是图片查看器或系统缩略图缓存的问题。你可以用系统自带的“属性/信息”查看图片的实际像素值,或者用画图软件打开——宽度和高度应该和原图完全一致。如果确实变了,可能是你上传前误操作了其他工具,或者浏览器插件干扰了页面行为。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭