ホーム 画像編集 画像圧縮の基本(JPEG・PNG・WebPの違いと使い分け)
画像編集

画像圧縮の基本(JPEG・PNG・WebPの違いと使い分け)

2026年3月15日 2026年4月13日 更新 Benri-Kit編集部
Tips

画像圧縮の基本JPEG・PNG・WebPの違いと使い分け

JPEG PNG WebP
00

はじめに

Webサイトやアプリを作るとき、画像をどの形式で保存すればいいか迷ったことはありませんか?

JPEG、PNG、WebP…種類が多くて混乱しますよね。でも、それぞれの特徴を理解すれば、「どの場面でどれを使うか」が自然とわかるようになります。

この記事では、3つの画像形式の仕組みと使い分けをやさしく解説します。

01

画像圧縮とは?

なぜ圧縮が必要なの?

デジタル写真はそのままでは非常に大きなデータ量になります。Webサイトで重い画像を使うと…

  • ページの読み込みが遅くなる
  • ユーザーが離脱しやすくなる
  • サーバーの通信コストが増える

そこで「画像圧縮」を使って、画質をなるべく保ちながらファイルサイズを小さくします。

圧縮の2種類:可逆と非可逆

可逆圧縮(Lossless)

元のデータを完全に復元できる圧縮。画質が劣化しない代わりに、ファイルサイズは大きくなりやすい。ZIPファイルの解凍と同じ仕組みです。

非可逆圧縮(Lossy)

一部のデータを削除して圧縮。ファイルサイズは大幅に小さくなりますが、元には戻せません。人間の目に気づきにくい部分を削ります。

覚え方
「可逆」=逆に戻せる、「非可逆」=逆に戻せない。可逆はZIPみたいに解凍で元に戻れる、非可逆は一度圧縮したら元には戻れないイメージです。
02

JPEG — 写真の王者

JPEG

Joint Photographic Experts Group

1992年開発 / 非可逆圧縮 / 写真に特化

Lossy

写真の保存に特化して開発された形式。非可逆圧縮によりファイルサイズを大幅に削減できます。「品質(Quality)」パラメータ(0〜100)で圧縮率を自由に調整できるのが特徴です。

JPEGの仕組み(ざっくり)
「人間の目は明暗の変化に敏感で、色の細かい変化には鈍感」という性質を利用。画像を8×8ピクセルのブロックに分割し、人間の目に気づきにくい微細な色情報を削除することで圧縮します。
メリット
  • ファイルサイズが非常に小さい
  • 写真の圧縮に最適
  • 全ブラウザ・デバイスで対応
  • 品質を自由に調整できる
デメリット
  • 透明(透過)を表現できない
  • 何度も保存すると画質が劣化
  • 文字・線・イラストは不向き
  • アニメーション非対応

向いている画像

風景写真ポートレートWebのヒーロー画像サムネイルSNSの写真ブログの画像
JPEG劣化の罠
JPEGは保存するたびに画質が劣化します。「少し編集して上書き保存」を繰り返すとどんどん画質が下がります。編集中はPSDやPNGで保存し、最終的にJPEGへ書き出すのがベストプラクティスです。
03

PNG — 品質と透過の定番

PNG

Portable Network Graphics

1996年開発 / 可逆圧縮 / 透過対応

Lossless

可逆圧縮を使うため、何度保存しても画質が劣化しません。また「透明(アルファチャンネル)」を表現できるのがJPEGとの大きな違いです。ロゴやイラストに最適です。

PNGの仕組み(ざっくり)
ZIPに似た「DEFLATE」アルゴリズムを使用。「この色が100px続く」という形でパターンを圧縮します。全データが保存されるため完全に元に戻せますが、写真のような複雑な色変化は圧縮率が低くなります。
メリット
  • 画質が劣化しない
  • 透過(透明)に対応
  • 文字・ロゴ・イラストに最適
  • 何度保存しても品質が保たれる
デメリット
  • 写真はファイルサイズが大きくなる
  • アニメーション非対応(※APNG除く)
  • Webの表示速度に影響が出やすい

向いている画像

ロゴ・アイコン背景透明なイラストスクリーンショットテキスト入り画像線画・図形・グラフファビコン
PNG-8 vs PNG-24
PNGには色数が少ない「PNG-8(最大256色)」とフルカラーの「PNG-24(1677万色)」があります。シンプルなイラストやアイコンならPNG-8でファイルサイズを抑えられます。グラデーションや写真にはPNG-24が必要です。
04

WebP — 現代Webの最適解

WebP

Web Picture format(Google開発)

2010年開発 / 可逆・非可逆両対応 / 透過・アニメーション対応

Lossy + Lossless

Googleが開発した比較的新しい形式。「JPEGとPNGの良いとこどり」を目指しており、JPEGより約25〜35%小さいファイルサイズで同等以上の画質を実現します。透過もアニメーションも対応しています。

WebPの仕組み(ざっくり)
動画コーデック「VP8」の技術がベース。隣接ピクセルの色を予測して「差分だけ」を記録する高度な手法を使用。JPEGより細かいブロック(4×4)で処理するため境界のノイズが少なく、よりシャープな画質を維持します。
メリット
  • JPEGより約25〜35%ファイルが小さい
  • PNGより約25%ファイルが小さい
  • 透過・アニメーションに対応
  • 写真もイラストも両対応
  • 主要ブラウザ全て対応済み
デメリット
  • IE(古いブラウザ)は非対応
  • 一部デザインツールで編集しにくい
  • Windowsフォトビューアなど一部アプリで開けないことがある

向いている画像

Webサイト全般ECサイトの商品画像モバイルサイトパフォーマンス重視のページGIFアニメの代替
WebPはこれからの標準
2023年以降、主要ブラウザでの対応が完了。新しいWebプロジェクトではWebPを優先することが推奨されています。Next.jsやNuxtなどのフレームワークでは自動的にWebPに変換してくれる機能もあります。
05

3形式の比較まとめ

項目JPEGPNGWebP
圧縮方式非可逆(Lossy)可逆(Lossless)両方対応
ファイルサイズ小さい大きい最も小さい
画質の劣化あり(調整可)なしほぼなし
透過(透明)非対応対応対応
アニメーション非対応非対応対応
写真向き◎ 最適△ 不向き◎ 最適
イラスト・ロゴ向き△ 不向き◎ 最適○ 良い
ブラウザ対応◎ 全対応◎ 全対応○ 主要ブラウザ対応
06

実践!使い分けガイド

シーン別おすすめ

シーンおすすめ理由
Webサイトの写真WebP(次点: JPEG)ファイルが小さく読み込みが速い
会社ロゴ・サイトロゴPNG / SVG透過対応・劣化なし
スクリーンショットPNGテキストが鮮明に見える
商品画像(EC)WebP(次点: JPEG)画質と速度のバランスが良い
バナー(テキスト入り)PNG / WebP文字がにじまない
Emailの添付写真JPEG互換性が高い
アプリのアイコンPNG / WebP透過・小サイズに対応
GIFアニメの代替WebPファイルサイズが大幅に小さい

判断フローチャート

1
透過(透明)が必要ですか?
YESPNG または WebP
NO → 次へ
2
アニメーションが必要ですか?
YESWebP
NO → 次へ
3
写真ですか? イラスト・ロゴ・文字ですか?
写真WebP(次点:JPEG
イラスト/ロゴ/文字PNG または WebP
4
古いブラウザ(IE)への対応が必要ですか?
YESJPEG または PNG
NOWebP が最適!
07

コードでの扱い方

HTMLで画像を埋め込む

WebPを優先しつつ、非対応ブラウザにはJPEGを提供するには <picture> タグを使います。

HTML
<!-- pictureタグを使ったフォールバック -->
<picture>
  <!-- WebP対応ブラウザはこちらを使う -->
  <source srcset="image.webp" type="image/webp">
  <!-- 非対応ブラウザはJPEGに切り替わる -->
  <source srcset="image.jpg" type="image/jpeg">
  <!-- 最後はimg要素(必須) -->
  <img src="image.jpg" alt="説明文">
</picture>

こう書くことで、WebP対応ブラウザでは高速なWebPが、非対応ブラウザでは互換性の高いJPEGが自動的に表示されます。

PythonでWebPに変換する

Pythonの Pillow(PIL)ライブラリを使えば数行で変換できます。インストールは pip install Pillow です。

Python
from PIL import Image

# JPEG を WebP に変換(非可逆、quality=85 が一般的)
img = Image.open("photo.jpg")
img.save("photo.webp", "WEBP", quality=85)

# PNG を WebP(透過あり)に変換(可逆)
img = Image.open("logo.png")
img.save("logo.webp", "WEBP", lossless=True)

# フォルダ内の全JPEGをまとめて変換
import os

for filename in os.listdir("./images"):
    if filename.endswith(".jpg"):
        img = Image.open(f"./images/{filename}")
        name = filename.replace(".jpg", ".webp")
        img.save(f"./output/{name}", "WEBP", quality=85)
        print(f"変換完了: {name}")
08

まとめ

JPEG
写真の王者

ファイルが小さく世界中で使える万能形式。ただし透過非対応で、保存のたびに画質が劣化する。

PNG
透過と品質の定番

劣化なしで保存でき透過に対応。ロゴ・イラスト・スクショに最適。写真はサイズが大きくなる。

WebP
現代Webの最適解

JPEGとPNG両方の良さを持ち、ファイルサイズも最小。新しいプロジェクトはこれを優先しよう。

初学者へのアドバイス
最初は「写真→JPEG、ロゴ・透過→PNG」と覚えておけばOKです。慣れてきたらWebPに移行してみましょう。Next.jsやNuxtなどのフレームワークを使う場合は自動変換機能があるので、あまり気にしなくてよいケースも多いです。

この記事が画像形式の理解に役立てば嬉しいです。