ほとんどのプロジェクトは、PNGをWebPに変換するために大掛かりなビルドパイプラインを必要としません。 必要なのは、ロッシーかロスレスかの明確な判断、ファイルを第三者にアップロードしないツール、そして 変換後に何も壊れていないかをすばやく確認する手段だけです。本ガイドはまさにそれをカバーします。
ステップ1 — ロッシー/ロスレスを決める
WebPは同じコンテナで両モードに対応します。コンテンツによって正解が変わります:
- 写真、グラデーション、カメラ撮影系 → 品質75〜85のロッシー。ピクセル単位で 見比べる人以外には差は見えず、元のPNGよりファイルが30〜45%小さくなります。
- スクリーンショット、UIモックアップ、チャート、文字付きロゴ → ロスレス。 この種のコンテンツではWebPのロスレスコーダーが本当にPNGのDEFLATEより優秀で、すべての ピクセルが保存されます。20〜30%小さくなることが多いです。
- 混在コンテンツ(写真が埋め込まれたUIスクリーンショット等)→ まず品質90の ロッシーで試す。文字や細線がぼやけたらロスレスへ。
ステップ2 — 変換ツールを選ぶ
単発の変換ならブラウザ系ツールが最速です。サーバー側変換は遅延が増え、多くは監査できない第三者 サーバーに画像を上げます。私たちのPNG → WebP 変換ツールは、エンコーダーをブラウザ内の WebAssemblyで完結させます — ファイルは端末から出ません。
ビルドパイプライン向けには、Googleが提供する標準エンコーダ cwebp が定番です。 macOSではHomebrewで libwebp の一部として入ります:
brew install webp
そして:
ロッシーは cwebp -q 80 input.png -o output.webp、ロスレスは cwebp -lossless input.png -o output.webp。
ステップ3 — 品質スライダーの調整
写真は品質80がスイートスポット。60を切ると平坦領域にブロックノイズが見え始めます。90を超えると 視覚的改善のないままファイルが急速に大きくなります。具体的な目安:
- ランディングのヒーロー画像: 品質82〜85。LCPの向上が画質の懸念を上回ります。
- 商品写真: 品質85〜90。顧客はズームします。
- ブログ本文のインライン画像: 品質75〜80。本文と一緒に見るには十分です。
- 背景テクスチャ: 品質60。背景はじっくり見られません。
ステップ4 — 透過の扱いに注意
PNGにアルファチャネルがある場合、変換で2つのことがうまくいかないことがあります:
- プリマルチプライドアルファ。一部のエンコーダはRGBにアルファを掛ける形を 既定にしており、部分透過ピクセルの色を静かに変えます。別の背景に合成するとハロや色のズレが 現れます。
cwebpに-exactを渡すか、元のRGBを保持する変換ツール を使ってください。 - ロッシーWebPのアルファ量子化。既定では、ロッシーWebPはアルファチャネルを 量子化してバイトを節約します。エッジを綺麗に保ちたいUIアセットでは
-alpha_q 100を渡すか、ロスレスを使ってください。
ステップ5 — 出力を検証する
WebPをコミットする前に3つチェック:
- 視覚的に差分を見る。両ファイルを既定ビューアで開き、すばやく切り替えます。 1秒切り替える間に差が分かるなら品質が低すぎです。
- ファイルサイズを確認。WebPは元のPNGより小さくなるべきです。大きいなら、 ロスレスが向く平坦画像にロッシーを当ててしまったか、元のPNGがすでに(例:
oxipngで)大きく最適化されている可能性があります。 - 本番想定の環境でレンダー。Webサイト向けならステージングに入れてクリックを 試す。デスクトップアプリ向けならアプリで開く。最大の落とし穴は、下流ツールが静かにフォーマット をサポートしていないことです。
一括変換: 数百ファイルを一度に
PNGのフォルダなら、cwebp を回すシェルループで十分:
for f in *.png; do cwebp -q 80 "$f" -o "$${f%.png}.webp"; done
UIアセットはロスレス、写真はロッシー、と混在するフォルダはスクリプトよりWebの一括ツールが 速いです。私たちの変換ツールは一度に最大20ファイルまで受け取り並列処理します。
よくある失敗
- 出力が入力より大きい。 平坦な素材にロッシーを掛けたか、元のPNGがすでに 最適化されている。ロスレスを試す。
- メールで画像アイコンが壊れて見える。 ほとんどのメールクライアントはWebP 非対応。メールはPNG/JPEGで。
- 色付き背景に合成すると色が違って見える。 プリマルチプライドアルファ。 ステップ4参照。
- WebPがPNGよりぼやけている。 品質が低すぎ、または元素材に極細線がある。 品質を90に上げるかロスレスへ。
まとめ
ほとんどの素材で全体のフローはこう: 変換ツールを開き、PNGをドロップし、品質を80のまま、結果を ダウンロード。上記の合併症は実在しますが稀です。当たった時の修正も小さい — 品質を上げるか ロスレスへ。30〜40%のサイズ削減はすべてのページビューで効き、変換は数秒で終わります。