画像・デザイン公開日 読了目安 約6

SVGとは|PNG・JPEGとの違いと、開けないときの変換方法

ロゴをもらったらSVGというファイルだった、資料に貼ろうとしたら挿入できなかった。SVGは拡大しても劣化しない便利な形式ですが、使える場所が限られます。この記事では、SVGとPNG・JPEGの違い、SVGが向く用途と向かない用途、開けないときにPNGへ変換する手順をまとめます。

SVGとPNG・JPEGは何が違うのか

PNGやJPEGは、色のついた点(ピクセル)を格子状に並べて絵を記録します。これをラスタ形式と呼びます。対してSVGは「半径50の円を、この位置に、この色で描く」という作図の指示を文字で記録した形式です。表示するときにその指示を読んで描き直すため、どれだけ拡大しても輪郭がぼやけません。

SVGPNGJPEG
中身図形を描く指示(テキスト)ピクセルの集まりピクセルの集まり
拡大何倍でも劣化しない粗くなる粗くなる
得意な絵ロゴ・アイコン・図表文字入り画像・透過写真
苦手な絵写真・複雑な階調写真(容量が膨らむ)透過・細い線
透過できるできるできない
編集テキストエディタでも可能画像編集ソフト画像編集ソフト

SVGの中身はXMLというテキストなので、メモ帳で開くとタグが並んでいるのが見えます。これが「SVGをメモ帳で開くと文字化けしたように見える」正体で、ファイルが壊れているわけではありません。ラスタ形式どうしの違いはPNG・JPEG・WebPの違いと使い分けにまとめています。

SVGが使える場所・使えない場所

トラブルのほとんどは「渡した先がSVGに対応していない」ことから起きます。先に対応状況を把握しておくと、渡す前に変換すべきかどうかが判断できます。

使う場所SVG補足
Webサイト・ブラウザ表示対応ロゴやアイコンの標準的な選択肢
ファビコンほぼ対応対応していない環境向けにICOやPNGも置く
Word・PowerPoint対応新しめのバージョン。図形に変換して色も変えられる
Googleドキュメント・スライド非対応が多いPNGにしてから貼る
SNSのアイコン・投稿画像非対応PNGやJPEGで書き出す
フリマ・求人など投稿フォーム弾かれやすい拡張子の制限に引っかかる
印刷所への入稿指定によるPDFやAI形式を求められることが多い
メール添付・チャット表示されないことがあるプレビューが出ずダウンロード扱いになる

投稿フォームでSVGが弾かれるのは、容量や見た目の問題ではなく安全上の理由です。SVGはテキストなので中にスクリプトを書き込むことができ、受け取る側のサイトでそれが動くと困るため、あらかじめアップロードを禁止しているサービスが多くあります。自分が作ったSVGでも同じ扱いになるので、投稿用途では最初からPNGを用意しておくほうが早いです。

SVGをPNG・JPEGに変換する手順

SVGは拡大しても劣化しないぶん、PNGに変換するときは「どの大きさで書き出すか」を自分で決める必要があります。ここがPNGどうしの変換といちばん違う点です。

  1. 1

    SVGに幅と高さが入っているか確認する

    テキストエディタで開き、先頭の<svg>タグにwidthとheightがあるか見ます。なければ書き足すか、viewBoxの値と同じ比率で指定します。指定がないSVGは、変換時に既定のサイズで扱われて小さく書き出されることがあります。

  2. 2

    必要な仕上がりサイズを決める

    Web用なら表示したい幅の2倍、印刷用なら必要なピクセル数から逆算します。SVG側のwidth・heightを目標サイズに書き換えてから変換すると、そのサイズのPNGが得られます。

  3. 3

    変換ツールにドラッグする

    画像フォーマット変換ツールにSVGを読み込ませ、出力形式にPNGを選びます。処理はブラウザの中で完結し、画像はサーバーに送信されません。

  4. 4

    背景の扱いを決める

    PNGなら背景が透明のまま残ります。JPEGは透過を保持できないため、透明部分は白で塗りつぶされます。白背景に置くと困る素材はPNGのまま使ってください。

開けない・崩れるときの切り分け

SVGの不具合は「開けない」「開いたが見た目が違う」の2種類に分かれます。症状から原因を絞ると、直し方が決まります。

症状よくある原因対処
ダブルクリックしてもコードが開く既定のアプリがエディタになっているブラウザにドラッグして開く
真っ白で何も見えない図形が表示領域の外にあるviewBoxの値を確認する
文字だけ別のフォントになる端末にそのフォントがない文字をアウトライン(パス)化して書き出す
画像部分だけ表示されない外部ファイルを参照している画像を埋め込んで書き出し直す
サイズが勝手に小さくなるwidth・heightの指定がないタグに数値を書き足す
アップロードで弾かれるSVGが許可されていないPNGに変換して入稿する

いちばん多いのはフォントの問題です。SVGの中でテキストが文字のまま保持されていると、開いた端末にそのフォントがない場合に別の書体へ置き換わり、幅が変わってレイアウトが崩れます。人に渡すSVGは、書き出し時に文字をアウトライン化しておくと確実です。ロゴを差し替えるときの確認項目はロゴのリニューアルにまとめています。

PNGからSVGに戻せるのか

結論からいうと、自動では戻せません。PNGはピクセルの集まりなので、「ここは円」「ここは文字」という情報が残っていません。変換ソフトが行うのは、色の境目を推定して輪郭線を引き直すトレースという処理で、元の図形を復元しているわけではありません。

  • 単色でくっきりした形(シルエット、単純なマーク)は、トレースでもそれなりの結果になります。
  • 細い線やグラデーション、影のついたロゴは、輪郭が波打ったり色数が増えたりして破綻しやすいです。
  • 文字はパスになるため、あとから文言や書体を直せません。
  • JPEGを元にすると、圧縮のノイズまで図形として拾ってしまいます。

つまり、ロゴを長く使うつもりなら、最初にSVGを受け取っておくのがいちばん確実です。制作を依頼するときは、SVGと、書き出し済みのPNG(大・中・小)をセットでもらう形にしておくと、Web・資料・SNSのどこに使うときも作り直さずに済みます。

よくある質問

SVGファイルはどうやって開けばいいですか?
いちばん簡単なのはブラウザにドラッグ&ドロップする方法です。ChromeでもSafariでもそのまま画像として表示されます。ダブルクリックでコードが開いてしまうのは、既定のアプリがテキストエディタになっているためで、ファイルが壊れているわけではありません。編集したい場合はIllustratorやInkscape、Figmaなどのベクター編集ソフトで開きます。人に渡すときは、相手の環境で開けるとは限らないのでPNGも添えると親切です。
SVGとPNGはどちらを使うべきですか?
自分のWebサイトに置くロゴやアイコンならSVG、他人やサービスに渡す画像ならPNGが基本です。SVGは拡大しても劣化せず、単純な図形ならファイルも小さく済みますが、SNSや投稿フォーム、Googleスライドなど受け付けない場所が残っています。写真はどちらも向かず、JPEGやWebPを使ってください。迷ったら、SVGを元データとして保管し、使う場所ごとにPNGを書き出す運用にすると管理が楽です。
SVGを印刷すると文字がずれるのはなぜですか?
SVGの中に文字がテキストのまま入っていて、印刷する端末にそのフォントが入っていない場合、別の書体に置き換えられるためです。書体が変われば文字幅も変わるので、行が折り返したり枠からはみ出したりします。書き出すときに文字をアウトライン化(パス化)すれば、図形として扱われるので崩れません。印刷所に入稿する場合は、そもそもPDFやAI形式を指定されることが多いので、事前に対応形式を確認してください。
PNGをSVGに変換できるツールはありますか?
トレースという処理で近いものを作ることはできますが、元のSVGが復元されるわけではありません。単色のシルエットやシンプルなマークなら実用になることもありますが、細い線やグラデーション、文字を含むロゴでは輪郭が乱れます。なお当サイトの画像フォーマット変換ツールが出力できるのはPNG・JPEG・WebPで、SVGへの書き出しには対応していません。SVGが必要なら、制作元に元データを請求するのが確実です。

この記事で紹介したツール

あわせて読みたい

画像・デザイン7

画像の容量を減らす方法|アップロード制限に引っかかるときの対処

「ファイルサイズが大きすぎます」で提出できない、メールに添付できない。そんなときに効くのは、形式の変更と品質設定の2つです。どちらをどれだけ下げれば何MBになるのか、見た目を落とさずに減らす順番を、ブラウザだけで完結する手順とあわせて解説します。

記事を読む →
画像・デザイン8

画像の解像度とdpiの違い|Web用と印刷用に必要なピクセル数の求め方

印刷所から「350dpiで入稿してください」と言われても、手元の画像が条件を満たしているか分かりにくいものです。実は画像の実体はピクセル数だけで、dpiは「そのピクセルを何センチで印刷するか」という指定にすぎません。この記事では、解像度・dpi・ピクセルの関係、用紙サイズから必要なピクセル数を出す計算、Web表示でdpiが関係ない理由をまとめます。

記事を読む →