gazou-compressor.jp

PNGとWebPロスレスの比較—どちらを使う?

UI・ロゴ・スクショの可逆配信で悩むPNGWebPロスレス。結論から言うと、 スクショ/UIはWebPロスレスが平均20–35%軽く、2〜16色の少色アイコンはPNG(インデックスカラー)が勝ちやすい。 ここでは判断基準と実務フローを示します。

関連ガイド
少色最適化は PNGインデックス最適化、 テキスト/線のにじみは 文字にじみ対策 を参照。透過縁は 透過フリンジ対策 が有効です。

結論(TL;DR)

  • スクショ/コード画像/UIWebPロスレスが有利(平均20–35%小)。
  • 極端に色数が少ない(2〜16色のアイコン等)は PNG(インデックスカラー)が勝つことがある。
  • アルファの段差が目立つ場合はPNG、それ以外はWebPロスレスで問題なし。
  • 互換性は主要ブラウザでWebP対応済。レガシー向けにPNGフォールバックを任意で保持。

比較表

観点PNG(可逆)WebP(ロスレス)
圧縮率少色のインデックス化で強い(16〜128色で特に)スクショ/UI/写真混在に強い(平均20–35%小)
透過強力。ガンマ/色管理に注意対応。可逆で段差が出にくい設計
生成速度高速(pngquant/oxipngで最適化)中速(エンコード時間はやや増)
互換性最広主要ブラウザ対応済(古い環境のみPNG)

実務フロー

  1. まず WebPロスレス を生成(Squoosh / Sharp / cwebp)。
  2. 容量が拮抗/増加なら PNG(インデックス化+ディザ有無)と比較。
  3. 16〜128色ならPNGが勝つことが多い。256色超・写真混在はWebPが有利。
  4. 色管理は sRGB を固定(関連: sRGB運用ガイド)。

CLI例

# pngquant(インデックス化 + ディザ)
pngquant --quality=65-95 --speed=1 --strip --force --output out.png in.png

# cwebp(ロスレス)
cwebp -lossless -z 9 -q 100 -mt -m 6 -o out.webp in.png

落とし穴と対策

  • PNGはガンマ/EXIFの残存で色が変わることがある→ --strip で除去。
  • WebPロスレスは生成がやや重い→ ビルド時生成&キャッシュで吸収。
  • 透過縁のにじみは形式よりも作り方の問題→ フリンジ対策 を適用。

公開前チェック(8項目)

  • スクショ/UIはWebPロスレスで容量が下回るか確認。
  • 少色アイコンはPNG(インデックス)と比較し、最小サイズを採用。
  • すべてsRGBで色管理を統一、余計なメタは除去。
  • 透過縁に段差・にじみがない。
  • srcset/sizes が実表示幅に一致、過大ダウンロードなし。
  • CLSゼロ:width/height 明示、広告はプレースホルダで高さ確保。
  • 互換のためPNGフォールバックを必要に応じて保持。
  • 仕上げに /compare /compressor で画質/容量の落とし所を確認。

まとめ:ルール化して迷いを無くす

スクショ/UI=WebPロスレス少色アイコン=PNG(インデックス)、それ以外は実測で判断。 ルールをチームに共有し、運用へ恒久化しましょう。

gazou-compressor.jp 編集部
画像圧縮・変換・背景除去などの実践テクニックと、Webで“速く・軽く・崩さない”ためのノウハウを発信しています。

関連記事