SVGとPNGは根本的に異なる目的を持っています。SVGはベクターフォーマット — 図形、パス、 テキストを数学的な記述として保存し、品質を失わずにどんなサイズにもスケールします。 PNGはラスターフォーマット — ピクセルをグリッドに保存し、拡大すると品質が低下します。 間違ったフォーマットを選ぶと、ファイルサイズ、品質、あるいはその両方を失います。
SVGとは?
SVG(Scalable Vector Graphics)はXMLベースのベクターフォーマットです。ピクセルを 保存する代わりに命令を保存します:「X,Yに半径Rの円を描き、#FF0000で塗りつぶす」。 主な特性:
- 解像度に依存しない:SVGロゴは16×16 px(ファビコン)と 1600×1600 px(印刷)で同じに見えます — 各サイズで出力ピクセルを新しく計算します
- シンプルなグラフィックスの小さなファイルサイズ:いくつかの図形を 持つロゴはSVGで2〜10 KBになるかもしれません。同じロゴの印刷解像度のPNGは 500 KB〜2 MBになる可能性があります
- テキストが編集可能:SVGテキストは本物のテキスト — スクリーンリーダーが 読め、検索エンジンがインデックス化でき、再デザインなしにフォントを変更できます
- CSSでスタイリング可能:SVG要素はCSSとJavaScriptに応答します — 追加の画像ファイルなしに色、ホバー状態、図形をアニメーション化できます
- 写真には不向き:SVGは写真の細部を表現できません。写真をベクターに トレースすると、すべての細部が失われるか、巨大なファイルサイズになります
PNGとは?
PNG(Portable Network Graphics)は可逆ラスターフォーマットです。保存時に品質の 損失なしに正確な色付きピクセルのグリッドを保存します。主な特性:
- 可逆圧縮:JPEGと異なり、PNGの保存は品質を劣化させません — 毎回まったく同じピクセルが返ってきます
- 透明度サポート:PNGはフルアルファチャンネル透明度をサポートします — 各ピクセルが部分的にまたは完全に透明になれます
- 固定解像度:200×200 pxのPNGは正確に200×200ピクセルを持ちます。 2000×2000 pxに拡大するとソフトウェアが新しいピクセルを推測(補間)しなければなりません — 結果はぼやけます
- 写真と複雑な画像に適している:PNGはSVGが表現できない写真の細部を キャプチャします
- 写真ではJPEGより大きなファイルサイズ:可逆圧縮は複雑な写真コンテンツに 対してあまり効率的ではありません — 500 KBのJPEG写真はPNGで3〜5 MBになるかもしれません
SVG vs PNG: 直接比較
- スケーラビリティ:SVGはどんなサイズにも完璧にスケールします。 PNGはネイティブ解像度を超えて拡大すると品質が低下します
- ファイルサイズ(シンプルなグラフィックス):SVGの勝利 — 小さな アイコンはSVGで1〜5 KB、2×解像度のPNGでは多くの場合10〜50 KB
- ファイルサイズ(複雑/写真):SVGよりPNGの勝利。写真をSVGにすると 巨大になるか品質がひどくなります
- ブラウザサポート:どちらも現代のブラウザで広くサポートされています。 SVGはIE9からサポートされています
- メール:PNGの方が安全です — 一部のメールクライアント(特にOutlook)は SVGサポートが限られているかまったくありません
- 印刷:ロゴやグラフィックスにはSVGが推奨されます — 印刷サイズに 関係なく最高解像度で印刷されます。PNGは品質の高い印刷出力に高DPI(300 DPI以上)が必要です
SVGを使うべき時
- ロゴとブランドマーク:SVGはロゴの業界標準です — 名刺(小さい)と 看板(巨大)の両方でシャープに見える必要があります
- アイコンとUI要素:アイコンセットは今ではほとんどSVGです。 単一のSVGアイコンファイルがすべてのサイズで機能します vs. 別々の@1x、@2x、@3x PNGファイルが必要
- フラットまたはシンプルなデザインのイラストレーション:限られた色と 幾何学的図形のフラットデザインはSVGによく変換されます
- アニメーショングラフィックス:SVGはCSSとSMILアニメーションをサポートします — シンプルなアニメーションロゴとローディングスピナーに最適
- チャートと図表:データビジュアライゼーションは、完璧にスケールして あらゆるズームレベルでテキストを読みやすく保つSVGの能力から恩恵を受けます
PNGを使うべき時
- スクリーンショット:PNGはスクリーンショットのデフォルトです — 圧縮アーティファクトなしの正確なピクセル再現
- 透明度のある写真:透明な背景の写真が必要ですか? PNGは透明度を扱いますがJPEGは扱いません
- グラデーションのある複雑なイラストレーション:SVGがうまく表現できない 豊かなグラデーション、シャドウ、複雑なテクスチャ
- SVGがサポートされていない時:古いメールクライアント、一部のCMSツール、 ラスターフォーマットのみを受け入れるレガシーシステム
- ソーシャルメディア用画像:ソーシャルプラットフォームはPNGを受け付けて 自分たちで変換します — SVGは一般的に受け付けられません
SVGとPNGの変換
SVGをPNGに変換するのは簡単です — ターゲットサイズでSVGをレンダリングしてPNGとして エクスポートします。ほとんどのデザインツール(Figma、Illustrator、Inkscape)が 直接これを行います。
PNGをSVGに変換することは「ベクタライゼーション」と呼ばれ、より複雑です。シンプルな ロゴとフラットグラフィックスは自動トレース(InkscapeのTrace Bitmap、Adobe Illustratorの Image Trace)でそれなりの結果が得られます。複雑な写真はSVGに意味のある変換はできません — 結果は各ピクセルを図形として記述しようとする巨大なSVGになります。
ファイルサイズ最適化
- SVGの最適化:デザインツールからのSVGの生エクスポートには不要な メタデータ、コメント、冗長なパスが含まれています。SVGOのようなツールは目に見える 品質の変化なしにSVGファイルサイズを30〜80%削減できます
- PNGの最適化:画像圧縮ツールを使用して PNGファイルサイズを削減してください — 可逆PNG圧縮は正確なピクセル品質を維持しながら ファイルを20〜40%削減できます
- ウェブにはWebPを検討:ウェブ使用の場合、WebPは品質を同等に保ちながら しばしばファイルサイズでPNGを上回ります。ワークフローが許す場合は PNG to WebPコンバーターを使用してください
クイック決定ガイド
- ロゴ、アイコン、シンプルなイラストレーション → SVG
- 写真 → JPEG(ウェブはWebP)
- 透明度のある写真 → PNG
- スクリーンショット → PNG
- メールグラフィックス → PNG(メールにはSVGは安全でない)
- グラデーションのある複雑なイラストレーション → PNG
- ウェブ用アニメーションロゴ → SVG(またはLottie)