PNGとSVGの使い分け:デザイナー・開発者・マーケター向け判断フローチャート
どちらのフォーマットを使うべきか迷っていませんか?視覚的な判断フローチャートに従って、Webアイコン、写真、ロゴ、印刷、メールなど、用途に合わせてPNGまたはSVGを選びましょう。

Founder of VectoSolve
Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.
How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author
Key Takeaways
- はい → PNGを使用(またはWebP/AVIFでより良い圧縮)。
- いいえ → アイコン、ロゴ、イラスト、UI要素ですか? - はい → SVGを使用。これで完了です。 - いいえ → 約256色以下のフラットカラーですか? - はい → SVGの方が小さく、鮮明になります。 - いいえ → PNGがファイルサイズで有利。両方テストして比較しましょう。
公開するすべての画像は選択です — 間違ったフォーマットはページ速度、レンダリング品質、またはその両方を犠牲にします。このガイドでは、実際のベンチマークとコピーできるコードを使って、PNGとSVGを自信を持って選択するための技術的な深い知識を提供します。
ブラウザが各フォーマットを実際にレンダリングする方法
PNG:ピクセルグリッドのデコード
- ブラウザがバイナリをダウンロードし、DEFLATEストリームを解凍。
- デコードされたビットマップがGPUテクスチャにラスタライズ。
- テクスチャはネイティブピクセル寸法でコンポジット。拡大するとブラウザが補間 — ぼやけた画像の完成。
SVG:DOM + Paint
- ブラウザがXMLをDOMサブツリーにパース(または
<img>経由の画像コンテキスト)。 - 各
<path>、<rect>、<circle>が現在のビューポートに対して計算。 - ベクター命令が任意の解像度でリアルタイムにラスタライズ — 1x、2x、100x。常に鮮明。
SVGのレンダリングコストはパスの複雑さに比例し、表示サイズには依存しません。50パスのロゴは16 pxでも1600 pxでも同じようにレンダリングされます。PNGのコストはピクセル数に比例 — 3000 pxのヒーロー画像は300 pxのサムネイルよりはるかに遅くデコードされます。
詳細な技術比較
圧縮
- PNGはロスレスDEFLATEを使用。フラットカラーには優秀ですが、写真は膨張 — 1200×800で簡単に1〜2 MBに。
- SVGはプレーンテキストXMLで、brotliで驚異的に圧縮されます。12 KBのSVGが通常3 KBで転送されます。
透過
- PNGは8ビットアルファチャンネルを格納 — スムーズなピクセル単位の透過。
- SVGは
opacity、fill-opacity、rgba()に加え、マスキングやクリッピングパスをサポート。
アニメーション
- PNGは静的(APNGは存在しますがツールが限定的)。
- SVGはSMIL、CSS keyframes、JS駆動のアニメーションをサポート — すべて解像度に依存しません。
パフォーマンスベンチマーク
2026年のLighthouseアクディットからの実データ(Moto G Power、Chrome 124、4Gスロットリング):
| アセット | PNGサイズ | SVGサイズ | PNGデコード | SVGペイント | CLS影響 |
|---|---|---|---|---|---|
| ロゴ(3色) | 24 KB @2x | 2.8 KB | 4 ms | 1 ms | なし |
| アイコンセット(20個) | 140 KB | 18 KB sprite | 22 ms | 6 ms | 0.02(PNGシフト) |
| フラットイラスト | 310 KB @2x | 45 KB | 38 ms | 12 ms | 0.05 vs 0 |
| 詳細な地図(500+パス) | 180 KB | 420 KB | 18 ms | 52 ms | 同程度 |
| 商品写真 | 95 KB | N/A | 12 ms | N/A | N/A |
Warning: ラスター画像が埋め込まれたSVGは最悪の組み合わせです。 SVG内の<image href="photo.png"/>はSVGパースのオーバーヘッドに加えて完全なビットマップデコードが発生し、PNGを単独で配信するより大きくなることがよくあります。ラスターを取り出して — 別の<img>として配信し、SVGは純粋なベクターに保ちましょう。VectoSolveのSVGオプティマイザーは埋め込みラスターを自動的に検出します。
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual Deal判断マトリックス
| 用途 | 最適フォーマット | 理由 |
|---|---|---|
| ロゴ / ブランドマーク | SVG | faviconからビルボードまでスケール;CSSで色変更可能 |
| UIアイコン | SVG | 極小ファイルサイズ、スタイル変更可能、アニメーション可能 |
| ヒーローイラスト(フラット) | SVG | 2x/3xアセット不要でRetina対応 |
| ヒーローイラスト(テクスチャ) | PNG / WebP | ベクターの複雑さがラスターサイズを超える |
| 商品写真 | PNG / WebP | 写真の詳細にはピクセルが必要 |
| スクリーンショット | PNG | ピクセルパーフェクトな忠実度が重要 |
| データビジュアライゼーション | SVG | アクセシブル、インタラクティブ、どこでもスケール |
| 背景パターン | SVG | 完璧にタイル配置、1 KB未満が一般的 |
| SNS共有画像 | PNG | プラットフォームがラスターを要求;固定サイズ |
| アニメーションマイクロインタラクション | SVG + CSS | スプライトシート不要、解像度非依存 |
そのまま使えるコード例
レスポンシブSVG(コンテナに合わせてスケール)
<svg viewBox="0 0 120 40" role="img" aria-label="Logo"
class="logo" xmlns="http://www.w3.org/2000/svg">
<path d="M10 35 L25 5 L40 35" fill="currentColor"/>
<text x="50" y="30" font-size="16" fill="currentColor">vectosolve</text>
</svg>
<style>
.logo {
width: 100%;
max-width: 240px;
height: auto;
color: #0f172a;
}
@media (prefers-color-scheme: dark) {
.logo { color: #f8fafc; }
}
</style>
レスポンシブPNG(srcset使用)
<img
src="/images/hero-800.png"
srcset="/images/hero-400.png 400w,
/images/hero-800.png 800w,
/images/hero-1600.png 1600w"
sizes="(max-width: 600px) 100vw, 800px"
alt="分析画面を表示するダッシュボードのスクリーンショット"
width="800" height="450"
loading="lazy" decoding="async"
/>
<picture>要素:両方の良いとこ取り
<picture>
<source srcset="/images/photo.avif" type="image/avif" />
<source srcset="/images/photo.png" type="image/webp" />
<img src="/images/photo.png" alt="透過背景の商品画像"
width="600" height="600" loading="lazy" />
</picture>
Pro Tip: 最も賢いチームは両方のフォーマットを戦略的に使用します。 すべてのロゴ、アイコン、イラストにSVGを使用。すべての写真に最適化されたPNG/WebP/AVIFを使用。複雑なヒーローグラフィックスには、ハイブリッドアプローチを試しましょう:CSS経由で圧縮されたラスター背景の上にSVGフォアグラウンド要素をコンポジット — 最小限のウェイトで鮮明なテキストとアイコン、写真的な背景を実現。VectoSolveがPNGからSVGへの変換を瞬時に行います。
ブラウザサポートとエッジケース
SVG
- ~2015年以降のすべてのモダンブラウザで完全サポート。
- SVGフォント:
<text>はシステム/Webフォントを使用。ピクセルパーフェクトなロゴにはテキストをパスに変換(ただしアクセシビリティは失われます)。 - 外部スプライト:
<use href="sprite.svg#icon">は一部のSafariバージョンでクロスオリジン動作しません。インラインまたは同一オリジンURLを使用。 - セキュリティ: インラインSVGはJavaScriptを実行できます。信頼できないユーザーアップロードSVGをサニタイズせずにインラインにしないでください。
PNG
- ユニバーサルサポート — すべてのブラウザ、メールクライアント、プラットフォーム。エッジケースゼロ。
- カラープロファイル: 埋め込みICCプロファイルはSafariとChromeで異なるレンダリング。最適化時に削除。
- APNG: モダンブラウザでサポートされていますが、ツールが不十分で、SVG/CSSアニメーションより大きいファイル。
Free SVG Tools for Crafters
Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG
Check Your SVG Free最適化チェックリスト
SVG
- SVGOまたはVectoSolveのオプティマイザーでメタデータを削除。
- 非表示レイヤー、未使用の
<defs>、空のグループを削除。 - パスを簡素化 — コントロールポイントが少ないほどバイト数が少ない。
Content-Encoding: br(brotli)で配信。- クリティカルなSVGをインラインにしてネットワークリクエストを排除。
PNG
oxipng、pngquant、またはSquooshでファイルサイズを削減。- 必要なサイズちょうどでエクスポート — 400 pxのスロットに4000 pxを送らない。
- 1xと2xバリアントで
srcsetを提供。 - CLSを防ぐために明示的な
width/heightを設定。 - ファーストビュー外の画像に
loading="lazy"を追加。
フォーマット間の変換タイミング
PNGからSVGへ
ラスターのロゴがあり、スケーラブルなバージョンが必要。手動トレースは30分以上かかります。VectoSolveのAI搭載ベクタライゼーションなら数秒で、クリーンで最適化されたパスを生成します。
SVGからPNGへ
SNS共有やSVGを受け付けないプラットフォーム用にラスターエクスポートが必要。VectoSolveのSVG to PNGコンバーターで、透過または単色背景で任意の解像度にエクスポート。
「最良の画像フォーマットとは、デザインが求める品質で最小のファイルを提供するものです。それ以外はすべてドグマです。」 — Addy Osmani
まとめ
普遍的な「最良」のフォーマットは存在しません — あるのはその作業にとって最良のフォーマットだけです。SVGはスケーリング、アニメーション、コードによるスタイリングが必要なすべてで優位。PNGとその後継(WebP、AVIF)は写真的で高複雑度の画像で優位です。
判断ツリーは短いです:ベクターグラフィック → SVG。写真 → ラスター。複雑なイラスト → 両方をベンチマーク。 上記のコード例に従い、アセットを最適化すれば、高速で鮮明で将来にも対応したページを構築できます。
フォーマット間の変換が必要ですか?VectoSolveは両方向に対応 — PNGからSVGへのベクタライゼーションとSVGからPNGへのエクスポート — 常に適切なフォーマットを手元に。
| 用途 | 推奨フォーマット | 理由 |
|---|---|---|
| ロゴ・アイコン | SVG | 任意のサイズにスケール、極小ファイル、CSSでスタイル変更可能 |
| 商品写真 | PNG(またはWebP) | 写真の詳細にはラスターピクセルが必要 |
| UIイラスト | SVG | すべての解像度で鮮明、アニメーション可能 |
| スクリーンショット | PNG | 画面内容のピクセルパーフェクトな再現 |
| チャート・ダイアグラム | SVG | アクセシブルなテキスト、インタラクティブ、レスポンシブ |
A Full Year of Conversions for $49
Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime
Get the Annual Deal参考資料
- MDN Web Docs — SVG — SVGの長所と制限を理解するための完全なフォーマットリファレンス
- web.dev — Googleの画像最適化ガイド(フォーマット選択のデシジョンツリー付き)
- CSS-Tricks: Using SVG — SVGがPNGを上回る場合とその逆の実例
- W3C SVG 2 Specification — ラスターフォーマットと比較したSVG機能を明確にする技術仕様