GIFを圧縮
アニメーションGIFは重いことで知られています。すべてのフレームが独自のパレットとLZW圧縮されたラスターを保存するため、5秒のクリップでも簡単に10 MBに達します。このツールは、パレットの量子化、冗長なフレームの削除、必要に応じたサイズ縮小によってGIFを小さくします。同じループを、わずかな容量で得られます。
GIF圧縮の仕組み
-
1
GIFをドロップ
サイズを問わず、アニメーションでも静止画でもかまいません。ツールはすべてのフレーム、グローバルパレット、フレーム遅延を読み取ります。
-
2
圧縮方法を選択
色数を減らす(256色から64色や32色へ)、1フレームおきに削除する(即座に半分のサイズに)、またはサイズを縮小します。
-
3
ループをプレビュー
ダウンロードする前に最適化されたGIFの再生を確認できます。容量を元のファイルと比較しましょう。
-
4
ダウンロード
圧縮されたファイルを保存します。元のファイルはそのままです。
GIFのどこに容量があるのか
GIFは複数のフレームの並びで、各フレームはローカルカラーテーブル(最大256色)とLZW圧縮されたピクセルインデックスのブロックを持ちます。動画コーデックと異なり、GIFは動き補償を行いません。たとえ3ピクセルしか変わっていなくても、すべてのフレームがラスター全体を保存します。だからこそ、30fpsで5秒のGIFは150枚の完全な画像を連結したものになるのです。
実際にサイズを縮める要素
| Technique | Savings | Quality cost |
|---|---|---|
| Palette reduction (256→64) | 20-35% | Noticeable banding on gradients |
| Drop every other frame | ~50% | Jerkier motion (15fps instead of 30fps) |
| Scale to 75% width | ~44% | Smaller on screen, otherwise fine |
| Lossy LZW (gifsicle -O3) | 10-25% | Minor dithering artifacts |
パレット削減とフレーム削除を組み合わせると、通常はGIFを60〜70%削減でき、損失はほとんど目立ちません。
GIFの使用をやめるべきとき
クリップが3秒より長い、または横幅600 pxを超える場合、同じ体感品質ならMP4やWebMのほうが5〜20倍小さくなります。今では多くのプラットフォーム(Twitter、Slack、Discord、昔ながらのフォーラムでも)がMP4を自動再生します。GIFが生き残るのは、動画の自動再生がブロックされている場所か、ファイルが文字どおり <img> タグとして埋め込まれている場合だけです。
コツ
- まずサイズを縮小しましょう。1200pxのGIFが必要になることはまずありません。
- 最初と最後の同一フレームを取り除きます(画面録画ツールから書き出すときによく発生します)。
- 色が平坦な場合(スクリーンキャスト、線画アニメーション)、32色パレットでも違いはわかりません。
- 写真的なコンテンツにはGIFは不向きな形式です。MP4に変換しましょう。
よくある質問
はい。ループ回数は元のファイルから保持されます(無限ループ、または特定の回数)。変わるのはピクセルデータと、必要に応じてフレーム数だけです。
実用上は、明らかな品質劣化なしに元のサイズの20〜30%まで縮められることがよくあります。それ以下にするには通常32色や10fpsまで落とす必要があり、目に見えますが、UIアニメーションでは許容できる場合もあります。
配信先が動画に対応しているなら、はい。MP4/WebMは5〜20倍小さくなります。GIFを使い続けるのは、メールクライアントや一部のレガシーフォーラムなど、動画を自動再生できない場所だけにしましょう。
圧縮は可能な場合ブラウザ内のクライアントサイドで実行されます。セッション終了後に保存されるものは何もありません。