这是什么工具
GIF 动图优化是一台跑在你浏览器里的 GIF 压缩器。GIF 的原始结构很朴素:每一帧都是一整幅画面的索引图,哪怕这一帧只动了光标一样的一小块,剩下的像素也要重新存一遍;很多工具导出的 GIF 连帧间差分都没做过。本页把自己逐帧解码出来的画面重新组织:先按 disposal 规则把每一帧合成成完整画面,再和「上一帧屏幕上是什么」逐格比对,只把变化的那一片写进文件,其余位置留一个透明索引让上一帧透出来 —— 这就是帧间差分,也是 GIF 优化真正省体积的地方。
在差分之上还有三档可用的收手:把相差很小的颜色并成一个(相近色合并,抗锯齿产生的那堆近似灰最吃这一招,LZW 能串起的重复串立刻变长)、把 24 位色压到 256/128/64/32/16 色(可选误差扩散抖动)、以及等比缩放与抽帧。改任何一项,队列里的文件都会立刻重算,你能当场看到体积与画质各自的代价,选到刚好能接受的那一档就走。全程在自己的浏览器里算,文件不上传,透明像素、播放延时与循环次数都按原样保留(注释与元数据会被去掉,这部分通常也是白吃的体积)。
功能
- 帧间差分:每帧只保存与上一帧不同的像素,其余留透明让上一帧透出,静态背景基本不再重复计费;整帧没有变化时干脆丢掉这一帧,把时长并给前一帧。
- 相近色合并:按可调配的阈值把差一点点的颜色并成一个(gifski / gifsicle 的 --lossy 同一招),文字与截图抗锯齿的收益最直接。
- 降色与抖动:颜色数上限可取 255/128/64/32/16,用加权中位切分建全局共用调色板;需要时再叠 Floyd–Steinberg 误差扩散压住色带。
- 尺寸、帧数与节奏:等比缩到 75% / 50% / 35%(盒式滤波重采样,透明边不发黑)、每 N 帧保留 1 帧(时长自动并入)、帧间隔倍率调整播放快慢。
- 批量与对比:一次拖多个 GIF,队列里逐条给出优化前后体积、尺寸、帧数与节省比例,并排预览两张同时播放的动图,结果可单个下载或打包 ZIP。
- 完全本地:解码、量化、差分、LZW 重编码都在页面的工作线程里完成,没有上传接口,也不依赖任何第三方压缩服务。
怎么用
- 把 .gif 拖到页面上(可以在任意位置松手),或点「选择 GIF 文件」多选,也可以直接 Ctrl+V 粘贴剪贴板里的动图。
- 先按「保持画质」跑一遍:不动颜色、不动尺寸,只看帧间差分能省多少。不够再上「推荐」,还不够就试「强力压缩」或自定义逐项调。
- 在队列里点「对比」,原件与优化后的动图并排同时播放,逐像素确认画质能不能接受;体积、尺寸、帧数都写在标题栏。
- 单个文件点「下载」,多个文件点「全部下载 ZIP」。文件名会变成「原名-opt.gif」,已存在的同名文件会自动加序号。
常见问题
- 大概能省多少?
- 分两种情况。原图没做过帧间差分时收益最大:低动效的图(背景静止、只有小块在动)常见省 30%–60%。如果原图已经是优化工具导出的(帧差做过),「保持画质」档一般只剩 5%–20% 的余量 —— 主要来自重新 LZW 编码与去掉注释元数据,这时真正的降幅要靠降色、相近色合并、缩放与抽帧:截图类用相近色合并通常再到 15%–25%,缩到 75% 并抽帧可以压到原来的 30% 以下。
- 「保持画质」真的完全无损吗?
- 颜色数不超过 255 的 GIF 是逐像素相同的:调色板按你文件里真实出现的颜色精确建立(GIF 单帧最多 256 色,我们留一格给透明,所以可用是 255 色),不缩放、不抽帧、不改帧延时。多帧合起来的颜色超过 255 时(各帧用了不同调色板的动图很常见),必须先做一次调色板合并才能做帧间差分,这一步会有肉眼难辨的差异,队列行内会标出「已降色」。另外帧上的注释与应用扩展块(含元数据)总会被去掉,这是刻意的。
- 为什么开了抖动体积反而更大?
- 误差扩散会把「一整片相同的颜色」打散成棋盘状的噪点,看着更细腻,却让 LZW 找不到可复用的重复串,帧间差分也会被这些碎点撑大。实测同一张渐变图,开抖动常常多 20%–50% 体积。所以默认关着,只有色带实在难看时才建议打开。
- 抽帧会让动画变卡吗?速度会变吗?
- 速度不会变:每 N 帧保留 1 帧时,被抽掉的那些帧的播放时长会并进保留帧,整体播放长度保持不变。观感上,动作快的段落会显得跳帧 —— 适合聊天头像、预览动图这类小尺寸场景;逐字动画、鼠标轨迹这类细节动作建议别抽。
- 我的 GIF 会上传吗?透明和循环能保住吗?
- 不会上传。整条链路(解码、合成、量化、差分、重编码)都在浏览器的工作线程里跑,页面没有任何提交文件的接口,关掉网络也能继续用。透明像素、每帧延时、以及 NETSCAPE 的循环次数都会按原样写回(单帧结果不再写循环块)。
站内其他工具
纯浏览器本地处理 · 不上传 · 免费 · 支持中/繁/英