Web 画像最適化の決定版 - WebP / AVIF / JPEG XL を実務でどう選ぶか
執筆: デジタル道具屋 編集部 / パフォーマンス担当
Core Web Vitals の改善を業務で担当する編集チーム。LCP・CLS の最適化と画像配信パイプラインの設計が得意分野です。
本記事の執筆方針と編集ポリシーについてはAbout ページをご覧ください。
導入:「PageSpeed が緑にならない」最大の犯人は画像


2.4 MB の JPEG で、しかも実際の表示サイズの 4倍解像度がある。LCP が遅いのは画像が原因じゃ。」
1. 画像フォーマット早見表
| フォーマット | 圧縮効率 | 透過 | 使いどころ |
|---|---|---|---|
| JPEG | 標準 | × | 写真。互換性が最強 |
| PNG | 非圧縮寄り | ○ | スクリーンショット、ロゴ、アイコン |
| WebP | JPEGの 25-35% 削減 | ○ | 汎用。互換性も十分 |
| AVIF | JPEGの 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 で「ブラウザに選ばせる」


<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>width と height は 必ず指定してください。 未指定だと、画像読み込み中にレイアウトが崩れて 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 で確認しましょう。
参考にした一次情報
本記事の内容は、以下の公式仕様や一次情報を参照して執筆しています。
- Image formats — web.dev
Google web.dev
https://web.dev/learn/images/
- WebP - A new image format for the Web
Google Developers
https://developers.google.com/speed/webp
- AVIF for Next-Generation Image Coding
Alliance for Open Media
https://aomediacodec.github.io/av1-avif/
- Largest Contentful Paint (LCP) - web.dev
Google web.dev
https://web.dev/articles/lcp
この記事の内容を実際に試す
解説した内容は、以下のツールでブラウザ上から無料で試せます。