GIF壓縮
把體積過大的 GIF 動圖壓小,滿足貼圖、論壇附件、電子郵件和網頁載入的大小限制
三個面向一起壓
畫面尺寸、格數、色彩品質三檔獨立可調,尺寸減半通常就能把體積降到四分之一左右
抽格不改變播放速度
丟掉的格數其顯示時間會補給相鄰格,動畫總長度和節奏保持原樣,不會變成快轉
本機處理免上傳
GIF 全程在瀏覽器本機解碼和重新編碼,檔案不會離開裝置,也沒有大小和次數限制
使用場景
- WeChat 自訂貼圖限制單一 GIF 不超過 1MB、尺寸 240×240,超標的動圖壓完就能加入
- 論壇、討論區等平台的附件和圖片有大小上限,幾十 MB 的螢幕錄影 GIF 根本傳不上去
- 文件、README、產品說明裡的操作示範動圖,壓小後頁面載入更快、不拖慢閱讀
- 電子郵件附件普遍限制 10–25MB,長動圖需要先瘦身才能當作附件寄出
GIF 為什麼這麼大,以及怎麼壓
GIF 是 1987 年的格式,每一格最多只能用 256 種顏色,且沒有現代影片那樣的格間壓縮,所以同樣的畫面用 GIF 存往往比 MP4 大十幾倍。能壓的地方只有三處:畫面尺寸、格數、每一格的顏色數量。
本工具用 gifuct-js 逐格解碼(並依 GIF 的 disposal 規則把每一格還原成完整畫面),再用 gif.js 重新量化調色盤並編碼輸出。三項參數中尺寸的效益最大——寬高各減半,像素數就只剩四分之一;抽格次之;色彩品質的降幅相對有限,但在不想犧牲尺寸時很有用。全部運算都在瀏覽器本機完成。
相關 GIF 工具
如果體積實在壓不到要求,可以考慮換格式:把動圖轉成影片體積能小一個數量級,用GIF 轉影片即可。反過來,想從影片裡剪一段做成動圖用影片轉GIF,想把多張照片合成動圖用圖片轉GIF,做好之後再回到本頁壓縮。
常見問題
GIF 一般能壓縮到多小?
取決於原圖和設定。尺寸是效果最明顯的一項:寬高各縮到 50%,像素數就只剩四分之一,體積通常降到原本的 25%–35%。再加上抽掉一半的格數,多數 GIF 能壓到原體積的 15% 左右。如果只調色彩品質而不動尺寸和格數,降幅一般在 10%–30%。
抽格會讓動畫變快嗎?
不會。抽掉一格時,它的顯示時間會累加到保留下來的前一格上,所以動畫總長度和播放速度都保持不變,只是流暢度降低了。對於本身格率就很低的 GIF,建議保留全部格數。
怎麼把 GIF 壓到貼圖要求的大小?
以 WeChat 自訂貼圖為例,單一檔案不得超過 1MB、尺寸不得超過 240×240。先把畫面尺寸調到能讓寬高落在 240 以內的檔位,再抽掉一半格數,色彩品質選「均衡」,壓完看結果區的體積;還超過就把色彩品質換成「最省體積」或繼續降尺寸。
為什麼壓縮後體積反而變大了?
少數 GIF 原本就用了非常積極的最佳化(例如每一格只存極小的差異區域),而重新編碼會把每一格都寫成完整畫面,抵銷掉原有的最佳化。遇到這種情況把畫面尺寸調到 50% 或更低,或者抽掉一半格數,就能重新壓下去。
GIF 檔案會上傳到伺服器嗎?
不會。解碼、縮放和重新編碼全部在您的瀏覽器本機完成,GIF 檔案不會離開您的裝置,也不會上傳到任何伺服器。
壓縮很大的 GIF 會卡嗎?
GIF 壓縮需要逐格解碼再逐格重新編碼,格數越多耗時越長,幾百格的長動圖在手機上可能需要等待較久。如果只是想大幅減少體積,把畫面尺寸降到 50% 會同時顯著縮短處理時間。