記事一覧へ戻る
読了 約 5

Web 画像最適化の決定版 - WebP / AVIF / JPEG XL を実務でどう選ぶか

#design

執筆: デジタル道具屋 編集部 / パフォーマンス担当

Core Web Vitals の改善を業務で担当する編集チーム。LCP・CLS の最適化と画像配信パイプラインの設計が得意分野です。

本記事の執筆方針と編集ポリシーについてはAbout ページをご覧ください。

導入:「PageSpeed が緑にならない」最大の犯人は画像

男の子
男の子
「博士〜! サイトの PageSpeed Insights が黄色のまま緑にならないんだぜ。コードはスリムにしたんだけどなぁ…」
博士
博士
「ふむ、Network タブを見せてみよ。…ああ、これじゃな。トップ画像が 2.4 MB の JPEG で、しかも実際の表示サイズの 4倍解像度がある。LCP が遅いのは画像が原因じゃ。」
女の子
女の子
「Largest Contentful Paint は概ねヒーロー画像で決まるのよね。同じ見た目で容量を 1/5 にできれば、LCP は劇的に改善するわ。」

1. 画像フォーマット早見表

フォーマット圧縮効率透過使いどころ
JPEG標準×写真。互換性が最強
PNG非圧縮寄りスクリーンショット、ロゴ、アイコン
WebPJPEGの 25-35% 削減汎用。互換性も十分
AVIFJPEGの 50% 削減写真。最高効率だが Safari 対応は新しめ
SVGベクターアイコン、ロゴ、グラフ
博士
博士
「『最強』はないのじゃ。コンテンツ・対象ブラウザ・編集容易性のトレードオフで選ぶ。」

2. 「圧縮品質」をどこまで下げていいか

JPEG・WebP は 0〜100 で品質を指定します。実務でよく使う目安:

品質設定の実務目安
  • 写真ヒーロー画像:JPEG 80 / WebP 75 / AVIF 60。視覚的にほぼ劣化なし
  • サムネイル・リスト:JPEG 70 / WebP 65 / AVIF 50。容量重視
  • ロゴ・スクリーンショット:PNG 8(256 色)または SVG。JPEG 系で文字を圧縮するとモスキートノイズが出る
  • イラスト・フラットデザイン:WebP(lossless)または PNG

品質 90 以上は「サイズの割に画質はほぼ変わらない」領域に入りがちです。 逆に 60 を切るとブロックノイズが目立ちます。75〜80 を起点に、対象画像で目視確認するのが一番確実です。

3. picture / srcset で「ブラウザに選ばせる」

男の子
男の子
「AVIF を使いたいけど、Safari の古いバージョンで表示できないと困るぜ。」
女の子
女の子
<picture> タグでフォールバックを書けば、対応ブラウザは AVIF、未対応は WebP、それも無理なら JPEG、という順で選んでくれるわ。」
<picture>
  <source srcset="hero.avif" type="image/avif" />
  <source srcset="hero.webp" type="image/webp" />
  <img
    src="hero.jpg"
    alt="ヒーロー画像"
    width="1200"
    height="630"
    loading="lazy"
    decoding="async"
  />
</picture>

widthheight必ず指定してください。 未指定だと、画像読み込み中にレイアウトが崩れて CLS(Cumulative Layout Shift)が悪化します。 ヒーロー画像は fetchpriority="high"、ファーストビュー外は loading="lazy" が基本です。

4. 実装前にやること

a. 元画像の解像度を見直す

スマホ表示で 400px 幅にしか映らない画像が、元データで 4000px あるケースは珍しくありません。表示の最大サイズ × 2倍(Retina 用)を上限と考え、それ以上はリサイズしてから配信します。

b. PNG はまず WebP に変換できないか検討

スクリーンショットや UI モックアップは、PNG のままだと数 MB に膨れがちです。 WebP の lossless モードで圧縮すると、見た目を維持したまま 30-50% 削減できることが多いです。

5. ブラウザで完結する圧縮ツール

サーバーにアップロードせずに圧縮したい場合は、当サイトの画像圧縮ツールが便利です。 ファイルはブラウザ内で処理され、外部サーバーへ送信されません。 クライアント情報を含むスクリーンショットや、未公開の画像素材を扱うときの安心材料になります。

関連: 画像切り抜きSNS 画像リサイザーアイコンリサイザー

🚨 現場の失敗あるある

CMS で img タグの width / height 属性を消してしまい、CLS が一気に悪化、 Core Web Vitals が赤になる事故が頻発しています。 エディタの「クリーンアップ」機能で消えていないか、リリース前に必ず Lighthouse で確認しましょう。

参考にした一次情報

本記事の内容は、以下の公式仕様や一次情報を参照して執筆しています。

この記事の内容を実際に試す

解説した内容は、以下のツールでブラウザ上から無料で試せます。

画像圧縮(クライアント)

ブラウザ上で画像を圧縮(サーバー送信なし)

画像切り抜き

ブラウザ上で画像をトリミング・リサイズ

SNS画像リサイザー

各SNSに最適なサイズに画像をリサイズ

アイコンリサイザー

PNG/WebP画像を複数サイズのPNGアイコンに変換

ファビコン生成

画像からマルチサイズアイコン(ico/png)を一括生成