为什么你的 GIF 总是太大
GIF 有个天生的短板:它最多只支持 256 色,而且为了动起来,每一帧都要存一份画面数据。一张几秒钟的 GIF,动辄几 MB、甚至十几 MB,微信发不出去、网页加载半天、邮件附件也超限。
好在 GIF 压缩的套路很固定,就三个参数:缩放、帧率、颜色数。用 NBTools 的GIF压缩工具,调整这三个参数就能把体积压下来,而且全程在浏览器本地完成,不用上传文件。
参数一:缩放,直接砍掉像素
缩放是最简单粗暴的办法。一张 500×500 的 GIF,缩到 75% 变成 375×375,像素少了 44%;缩到 50% 只有 250×250,像素少了 75%。GIF 的体积大致跟像素数成正比,所以缩放对减体积立竿见影。
适合场景:照片类 GIF、画面细节没那么重要的动图。缺点是整体分辨率下降,放大看会糊,但手机小屏或聊天里看完全够用。
参数二:帧率,减少画面数量
GIF 是一帧一帧的画面拼起来的,帧率越高、帧数越多、体积越大。很多 GIF 其实用不到 20 FPS——人眼对"流畅"的感知在 10 FPS 左右就开始接近饱和。
把帧率从 20 FPS 降到 10 FPS,帧数直接减半,体积基本也能减掉三四成。降到 5 FPS 体积更小,但画面会明显卡顿,只适合表情包这类本身就不要求流畅的图。
适合场景:动态演示、屏幕录制、轮播类 GIF。动作快的动图不建议降到 10 FPS 以下。
参数三:颜色数,给色彩做减法
GIF 最多 256 色,但很多图根本用不到这么多。把颜色数从 256 降到 64、32 甚至 16,GIF 的调色板和每帧的数据都会明显变小。
关键是要看图片类型:
- 线条图、图标、文字类:颜色本来就少,降到 32 色几乎无感,体积能大幅下降
- 照片、写实类:颜色丰富,硬减色会产生明显的色带和噪点,建议保留较多颜色,靠缩放减体积
三个参数怎么组合最划算
单用一个参数往往不够,组合起来效果最好。给你几个实测参考:
- 表情包/简单动图:75% 缩放 + 10 FPS + 32 色,体积通常能压掉 60%-80%
- 网页 banner:原尺寸 + 15 FPS + 64 色,兼顾清晰和加载速度
- 照片类 GIF:50% 缩放 + 10 FPS + 保留较多颜色,优先保画质
记住一个原则:先试小压缩,看效果再逐步加大。NBTools 的GIF压缩工具压缩后会实时显示体积变化,不满意随时调整参数重来。
本地压缩为什么更放心
很多在线压缩网站需要把你的 GIF 传到他们的服务器再处理。但有些 GIF 可能是内部素材、私人制作,你未必想让第三方看到。
NBTools 的GIF压缩是用 gifuct-js 解码、gif.js 编码,全在浏览器里跑,文件自始至终不离开你的设备。既快又安全。
和视频转 GIF 搭配使用
如果你的 GIF 还没做出来,而是要从视频里截取,可以先用视频转GIF工具生成,再用本工具压缩。生成时就把帧率和尺寸控制好,压缩时再微调,一套流程下来体积能压到很小。
这样「视频 → GIF → 压缩 → 分享」的完整链路,全部在浏览器本地完成,全程不上传任何文件。
参考资料
- NBTools GIF压缩工具:https://nbtools.cn/tools/compress-gif
- NBTools 视频转GIF工具:https://nbtools.cn/tools/video-to-gif