MiniPNG

GIF画像をオンラインで圧縮

GIF画像を圧縮し、サイズが大きく異なる理由を確認

少々お待ちください...(/)

現在、画像を最適化しています。最高の品質結果を保証するために、少々お待ちください。

素晴らしい、画像の圧縮に成功しました。

画像が最適化されました。

GIF画像を圧縮し、なぜ圧縮率が大きく異なるのかを解説

2つのGIFをこのページで圧縮すると、片方は40%も小さくなり、もう片方はほとんど変わらないことがあります。これはツールの不安定さではなく、GIFの最も分かりにくい特徴なので、アップロード前に知っておく価値があります。GIFには画質スライダーがありません。JPEGのようにサイズと引き換えに画質を落とすことはできません。GIF圧縮ツールができるのは繰り返し部分を取り除くことだけなので、圧縮結果は元のファイルにどれだけ繰り返しが含まれているかにほぼ完全に依存します。

GIFのバイト数はどこに使われているのか

主に2箇所で、どちらも写真家が考える「画像」とは異なります。1つ目はカラーテーブルです。すべてのGIFは最大256色のパレットを持ち、アニメーションGIFの場合は各フレームごとに別々のパレットを持つこともできます。2つ目はフレームです。不注意に書き出されたGIFは、各フレームを完全に保存し、1つの小さなボックスを動かすだけでもキャンバス全体を30回も再描画します。

そのため、作業は各フレームごとのパレットを1つの共通テーブルにまとめ、変化しない部分を再保存しないようにすることです。どちらの工程も色自体には触れません。下記の最初のテストでは、29個のフレームごとのパレットが1つのグローバルテーブルに統合され、ファイルサイズは40%減少し、サンプルで確認した4色も元の値のままでした。

計測した内容

6つのファイルをこのページで圧縮し、返ってきたバイト数を記録しました。

ファイル元のサイズ圧縮後変化率
画面録画アニメーション、30フレーム、640×40041,699バイト24,994-40.1%
透明背景の単一フレーム1,990バイト1,861-6.5%
すでに高圧縮されたアニメーション、24フレーム334,312バイト334,027-0.1%
1つのパレットで構成された単一フレーム56,676バイト56,6760%
コメント、XMP、GPS、カラープロファイル付き8フレームアニメーション15,850バイト9,953-37.2%
このページにアップロードしたPNG703,830バイト74,379-89.4%

40%圧縮されたファイルも0%だったファイルも同じツールで処理

最初の行は画面録画で、30フレームのほとんどが同じキャンバスで、ほぼすべてのフレームに別々のパレットがありました。繰り返しが多く、取り除く余地が大きかったのです。5行目はすでに1つの256色パレットで構成された静止画フレームで、これ以上削れる部分がなく、元の56,676バイトのまま返ってきました。

これは、多くの検索結果ページが大きく謳う「圧縮率」の正直な実態です。GIFが動画変換ツールや画面録画ソフト、古い書き出しプリセットから作られた場合は大きな圧縮が期待できますが、すでに最適化済みの場合はほとんど変わりません。圧縮率0%は、ツールが正直に「これ以上削れません」と伝えている証拠であり、画質を落として無理に数字を作っているわけではありません。

アニメーションはそのままアニメーションで返却

再生して確認するのではなく、バイトレベルで検証しました。圧縮後の30フレームファイルも、30フレーム、元の80ミリ秒ディレイを持つ30個のタイミングブロック、ループ設定もそのままでした。キャンバスサイズも640×400のまま。静止画に変換されたり、フレームが削除されたりすることはありません。

透明度も色もそのまま維持

透明GIFは6.5%小さくなりました。結果をキャンバスに描画し、4ピクセルを読み取ったところ、角は完全に透明のまま、赤は220, 40, 60のまま、白も純白のままでした。同じチェックを30フレームアニメーションで行っても、ヘッダーブルー、ページグレー、行グレー、赤いボックスはいずれも40%圧縮後も変化なしでした。圧縮による削減は色の近似ではなく繰り返しの削除によるため、こうした結果になります。

圧縮後もファイルが大きい場合

圧縮ツールが削れるのは繰り返しだけです。アニメーションが4秒長すぎるとか、幅が800ピクセルも必要ないとかを判断することはできません。そうした選択はファイルをこのページに持ち込む前に行うもので、それが最小サイズの限界を決めます。計算は単純で、GIFのサイズはキャンバス面積×フレーム数にほぼ比例します。幅と高さを半分にすれば約4分の3削減でき、フレームレートを30fpsから12fpsに落としても、一般的なクリップでは見た目にほぼ影響しません。圧縮後も重い場合は、この2つの調整が最も効果的です。

ファイルに隠れていたテキストも一緒に削除

GIFには意外なほど多くのテキスト情報が隠れており、それも1箇所に限りません。コメントブロックはアニメーションなら各フレームごとに存在します。XMPパケットにはPhotoshopなどAdobe製品がカメラのメーカーやモデル、作成者や著作権、GPS座標などを書き込みます。他にもプレーンテキスト拡張やカラープロファイルがありますが、画像を見るだけでは分かりません。

これらすべてを含むファイルを作成し、圧縮後にメタデータツールで確認したところ、10個のコメントブロック、緯度・経度・高度・撮影日、カメラ情報、作成者、クレジット、著作権、カラープロファイル、プレーンテキスト拡張がすべて消えていました。8フレームはそのまま8フレームで、アニメーションも無限ループのままでした。

これらは圧縮と同時に行われるため追加の手間やアップロードは不要です。また、圧縮で繰り返しが見つからなくてもファイルが小さくなる理由は、こうしたテキスト情報が削除されるためです。

他の画像形式もこのページで利用可能

アップローダーはPNG、JPG、JPEG、WEBP、AVIF、SVG、TIFF、BMP、JFIFも受け付け、各ファイルは元の形式のまま返却されます。上記のテーブルのPNGもPNGでアップロードし、PNGで返却され、ヘッダーを確認したところ1400×900のままでした。GIFページにアクセスしても他の画像が別の形式に変換されることはありません。

MiniPNGで得られること

  • すべてのフレーム、フレームディレイ、ループ設定を保持
  • 透明度も元の色値のまま維持
  • 元のキャンバスサイズを変更せず返却
  • 各フレームのパレットを1つの共通テーブルに統合(これが主な圧縮効果)
  • コメント、XMP、GPS座標、カメラ・作成者情報、カラープロファイルも同時に削除
  • 繰り返しがなければ画像データはそのまま
  • サインアップ不要、透かしなし、メールアドレス不要

次にできること

写真(アニメーションでない画像)の場合は、写真のメタデータを削除でEXIFやGPSを画像を再エンコードせずに消去できます。 GIFがアニメーションでなく静止画の場合は、PNG圧縮の方が適しています。 そして、1987年よりずっと後に設計されたフォーマットで同じ内容を扱いたい場合は、WebP圧縮が静止画もアニメーションも対応しています。

よくある質問

繰り返し部分がほとんど残っていなかったためです。GIFには画質設定がないため、JPEGツールのようにシャープさと引き換えにサイズを削減することはできません。各フレームごとのカラーテーブルを1つにまとめ、変化しないキャンバス部分の再保存をやめることしかできません。テストした画面録画は繰り返しが多く、41,699バイトから24,994バイトへと40.1%減少しました。一方、すでに1つのパレットで構成された静止画フレームは全く変化せず、56,676バイトのままでした。どちらも同じツール、同じ日に処理しました。

はい、バイトレベルで確認済みです。圧縮後の30フレームファイルも、30フレーム、元の80ミリ秒ディレイを持つ30個のタイミングブロック、ループ設定もそのままでした。キャンバスサイズも640×400のままです。静止画に変換されたり、フレームが削除されたりして圧縮率を上げることはありません。

私たちが計測した範囲ではありません。圧縮による削減は繰り返しの削除によるもので、画像の近似ではありません。40%圧縮後、結果をキャンバスに描画してピクセルを読み取ったところ、ヘッダーブルー、ページグレー、行グレー、赤いボックスはいずれも元のままでした。透明GIFでも角は完全に透明、赤は220, 40, 60、白は純白のままでした。

はい、すべて圧縮と同時に削除されます。GIFは複数箇所にデータを隠せます。各フレームごとのコメントブロック、カメラのメーカーやモデル、作成者や著作権、GPS座標を含むXMPパケット、プレーンテキスト拡張、カラープロファイルなどです。これらすべてを含むファイルを作成し、このページで圧縮、メタデータツールで確認したところ、10個のコメントブロックが0になり、緯度・経度・高度・撮影日・カメラモデル・作成者・クレジット・著作権もすべて空になり、XMPパケットも完全に消えていました。8フレームはそのまま8フレームで、アニメーションもループのままでした。

圧縮ツールが変更できない2つの要素、キャンバスサイズとフレーム数を調整してください。GIFのサイズは面積×フレーム数にほぼ比例します。幅と高さを半分にすれば約4分の3削減でき、30fpsから12fpsに落としても短いクリップならほとんど見た目に影響しません。末尾を1秒カットするだけでも最適化ツールより効果的です。もしGIFが本当は静止画なら、GIFである必要はありません。

はい。アップローダーはGIFのほか、PNG、JPG、JPEG、WEBP、AVIF、SVG、TIFF、BMP、JFIFも受け付け、各ファイルは元の形式のまま返却されます。ここでPNGをアップロードした場合、703,830バイトから74,379バイトに減り、PNGのまま返却され、ヘッダーを確認すると1400×900のままでした。どのページを開いたかによって他の形式に変換されることはありません。