压缩 GIF 文件

让 GIF 动图变小,同时还是 GIF。按痛感从小到大依次砍颜色、砍像素、砍帧,每跑一遍都看得到体积往下掉。

转换器是编译成 WebAssembly 的 ffmpeg。你选第一个文件时它会下载一次(约 30 MB),之后就留在浏览器缓存里。

减少颜色数是最有效的一招,128 色在动态画面里基本看不出来。还不够小的话,再降缩放和帧率。

文件在你自己的浏览器里处理,不会上传。引擎本身有 30 MB,只在第一次使用时下载,之后都从浏览器缓存里取。

GIF 压缩 怎么用

  1. 1把 .gif 拖进上面的方框,或点击选择。
  2. 2先用默认值跑一遍,它把调色板砍半。还需要更小就在下方加缩放或帧率上限。
  3. 3对比那一行的体积,调整参数再应用,直到能塞进它要去的地方。

三个开关,按痛感排序

GIF 的体积粗略地说等于颜色数乘像素数乘帧数,这个工具暴露的正是这三个乘数。 从调色板下手:GIF 允许 256 色,大多数动图挥霍着这个上限, 而一张好好构建的 128 色调色板在动态画面里几乎无法分辨。 默认那一遍做的就是这件事,对很多文件来说这就够了。

不够时,下一个是缩放。尺寸降到 75% 就去掉近一半像素,50% 去掉四分之三。 聊天窗口和评论区本来就把 GIF 显示得很小,你甩掉的像素往往从来没人看见过。 帧率上限留作最后手段,因为它最显眼:15 fps 看着还是动作,10 fps 看着是节俭。

为什么重建调色板而不是直接截断

偷懒的压缩器保留 GIF 原有的调色板、直接扔掉一部分条目, 被扔掉的条目管的颜色就直接色块化了。这个工具重新看一遍你的实际帧, 按目标大小构建一张向要紧颜色加权的新调色板,再用有序抖动重新映射每一帧。 128 色的结果经常比偷懒工具 256 色的输出还好看。

认清什么时候格式本身才是问题

这一切之下有一层地板:又长、动作又多的 GIF 之所以贵, 是因为 GIF 从来就不是为那种活准备的。目的地收视频的话, 转换比压缩强一个数量级,在我们的 GIF 转 MP4 页面上只要一次点击。 GIF 压缩真正的用武之地,是文件必须还是 GIF 的场合, 通常意味着论坛、README、文档这些把动画当图片对待的地方。 对这些地方,这一页在你的浏览器本地把整件事做完,每个开关的代价都先亮出来再让你按, 你的文件从头到尾都是你的。

常见问题

压缩 GIF 的原理是什么?
把 GIF 花字节的三样东西各给少一点:每张调色板的颜色数、每帧的像素数、每秒的帧数,然后重新编码。默认那一遍把调色板从 256 色砍到 128 色,大多数 GIF 上几乎看不出来,却省下实打实的重量。缩放和帧率上限能省更多,但每一个都是看得见的交换,所以它们是独立的控件而不是一根魔法滑杆。
该先动哪个设置?
先颜色,再缩放,最后帧率。砍调色板是每省一字节最温和的;摄影类 GIF 扛 64 色的能力常常超出预期。缩放是平方关系,75% 的尺寸意味着少掉近一半像素。帧率留到最后,因为动作变卡是人最容易注意到的变化。
为什么压完还是很大?
有些 GIF 已经没有便宜的余量了,通常因为又长、又大、动作又多。这里的开关都不够用时,诚实的答案是内容已经超出了这个格式的能力。转成 MP4 能让沉重的 GIF 小 80% 到 95%,我们的 GIF 转 MP4 页面干的就是这个,前提是目的地收视频。
压缩的损失是永久的吗?
是。从调色板里去掉的颜色,之后再用 256 色重编也回不来;缩小的像素就一直是缩小的。重要的原件请留着。输出文件名带 -compressed 后缀,正是为了不覆盖你的源文件。
GIF 会被传到服务器吗?
不会。包括调色板分析在内的全部过程都在你的浏览器里由编译成 WebAssembly 的 ffmpeg 完成,文件不离开你的设备。

更多免费工具