Image Compressor
← 返回博客

在线压缩动态 GIF(不动帧数、不糊字幕的四步法)

2026-10-28

一个要加载九秒的 GIF,多数人根本不会等。压缩 GIF 能把等待时间砍下来,但常见的做法会顺手毁掉你当初选 GIF 的理由:动画本身。掉帧、字幕糊掉、渐变出现色带,都是压过头的结果。这篇讲清体积是怎么算出来的、哪四个开关真正有用、以及什么时候别再用 GIF。

GIF 的体积是怎么乘出来的

GIF 每一帧都是一张索引色图像,配一块最多 256 色的调色板。所以体积大致等于帧数乘尺寸乘调色板深度。三个数里砍掉任何一个都会变小,砍错了就难看。

压缩动态 GIF 的四个开关

开关 1:先砍尺寸

收益最大,副作用最可控。一个 1200 像素宽的录屏,缩到 600 宽之后在聊天窗口和文档里没有任何区别,像素数直接掉到四分之一。有字幕的话别压到 480 以下,字会糊。

开关 2:把帧率降到 12 到 15

录屏 GIF 里大量的帧几乎一模一样。从 30 fps 降到 12 fps,帧数直接少六成,动作看起来仍然连贯。例外是快速滚动或动画演示,这类内容低于 20 fps 就会跳。

开关 3:收调色板

256 色是上限,不是默认值。降到 64 色对界面截图、终端演示、单色插画几乎没有影响;有照片或渐变的画面降到 64 会出现色带,这种内容留在 128 或 256。

抖动(dither)用假色点模拟过渡色,关掉它文件更小、噪点更少,代价是渐变区域出现硬边。界面截图关掉抖动一般更干净。

开关 4:在线工具跑一遍

拖进去、调上面三个参数、出结果,文件不上传。要批量处理几十个 GIF 的话,命令行 gifsicle 更合适:gifsicle --lossy=80 --colors 64 -O3 in.gif -o out.gif,--lossy 是有损模式,能再省三成左右。

什么时候别再压 GIF 了

不同格式的取舍在 /blog/lossy-vs-lossless-compression 里有对比。一次要处理几十个文件的流程见 /blog/batch-compress-images-multiple,矢量图标则完全不同,参看 /blog/compress-svg-without-breaking。

FAQ

GIF 一般能压掉多少?

从录屏工具直接导出的文件,砍尺寸加降帧率通常能减掉 60% 到 80%。已经优化过的文件只剩下 10% 到 20% 的空间,再往下压就要牺牲画质了。

压缩 GIF 会掉画质吗?

取决于压哪一项。只砍尺寸和帧率,单帧画质不变。收调色板或开有损模式会真的损失颜色信息,渐变和照片类内容最容易看出来。

压完之后页面还是卡,为什么?

多半是同时加载了多个大 GIF,或者 GIF 放在首屏。首屏用视频代替,其余部分改成点击或滚动到可见时再加载,单文件大小不是唯一变量。

有损 GIF 压缩和 MP4 该选哪个?

必须在邮件、文档、老系统里直接播放就选 GIF,有损模式能压到能用为止。放在自己网站上的长录屏选 MP4 或 WebM,同等内容小一个数量级。

在浏览器里压缩动态 GIF,文件不上传,不损失帧数

阅读更多:如何把 JPG 压缩到 100KB 以下(在线免费,无需注册)如何无损压缩 PNG(不掉画质,在线免费)WebP 图片压缩完全指南:原理、工具与最佳实践

免费指南:把图片压缩到指定大小(200KB / 100KB / 50KB)→