🖼 画像・メディア

SVG→PNG変換

SVGファイルやソースをCanvas経由でPNGに変換します。出力サイズをpxで指定でき、背景は透明のまま書き出します。読み込みも変換も端末内で完結します。

SVGファイルをドラッグ&ドロップ

またはクリックしてSVGファイルを選ぶ・下の欄にソースを貼り付けてもOK

SVG→PNG変換の使い方

SVGのソースを貼り付けるかファイルを選び、出力サイズ(px)を指定するとプレビューに描画され、PNGとして保存できます。ソース・幅・高さを変えるたびに即座に再描画されます。読み込みも変換も端末内で完結します。

  1. SVGを入力します。ソースをテキスト欄に貼り付けるか、「SVGファイルを選ぶ」で読み込みます。初めての方は「サンプルSVG」で試せます。
  2. 出力サイズ(幅・高さ)をpxで指定します。
  3. プレビューを確認し、PNG保存を押してダウンロードします。

具体例

  • アイコンSVG → 幅512・高さ512を指定して converted.png(512×512)として書き出す
  • ロゴSVG → 1024×1024で高解像度のPNGを作り、印刷やOG画像に使う
  • サンプルSVG(赤い円)→ クリックでソースが入り、即プレビュー&保存できる
  • viewBox付きの小さなSVG0 0 100 100)→ 任意の大きさに拡大してもベクターなのでぼやけない
  • 横長のSVG → 幅と高さを別々に指定して任意のアスペクト比で書き出す

サイズ指定のルールと上限

幅・高さに入れた値が、そのままキャンバスの寸法(=PNGのピクセル数)になります。SVGはベクターなので、元の viewBox より大きな値を指定しても線はぼやけません。ただし指定には次の制約があります。

  • 1辺の上限は8000px。それを超える値を入れても、通知なしで8000pxとして描画されます(入力欄の数字は書き換わりません)。
  • 幅×高さの上限は1600万px。4000×4000(1600万)は通りますが、8000×8000は超過してエラーになります。8000×2000のような細長い指定なら上限内です。
  • 空欄や0は512として扱われます。サイズを消しただけでは0×0にはなりません。
  • 縦横比は自動で合わせません。指定した幅と高さの箱に描くので、viewBox と違う比率を入れると引き伸ばされることがあります。比率を保ちたいときは viewBox と同じ比の数値を入れてください。
用途指定するサイズの目安補足
ファビコン48×48(または32×32)複数サイズをまとめたい場合はファビコン生成のほうが向く
スマホのホーム画面アイコン180×180正方形のviewBoxで作る
アプリ・PWAアイコン512×512余白を持たせたデザインが無難
OG画像・SNSサムネイル1200×630viewBoxも同じ比率(40:21)に寄せる
印刷(幅5cm・300dpi)591×任意必要な画素数はDPI・印刷サイズ計算で確認できる

変換できるSVG・できないSVG

このツールはSVGを画像として読み込んでからキャンバスに描く方式です。この経路ではSVGが「セキュアな静的モード」で描画されるため、次のものは無効になります。仕様上の制限で、外部通信をしない設計とも一致しています。

SVGの内容結果対処
xmlns 属性がない解析エラー先頭を <svg xmlns="http://www.w3.org/2000/svg" ...> にする。HTMLからコピーすると欠けていることが多い
閉じタグ漏れ・未エスケープの &解析エラーXMLとして正しい形に直す
Webフォントの読み込み効かない(端末のフォントで代替、または描かれない)テキストをパスへ変換(アウトライン化)してから貼る
外部画像の参照(image の外部URL)描かれないBase64のデータURIとしてSVG内に埋め込む(画像 ↔ Base64
スクリプト・SMILアニメーション実行されない(静止した状態で描画)アニメが必要ならアニメGIF生成など別の手段を使う
圧縮された .svgz読めない展開して通常のSVGにする

逆に言えば、外部を参照しない自己完結したSVGであれば確実に変換できます。ソース欄への貼り付け・ファイル選択・ドラッグ&ドロップのいずれでも、幅・高さを変えるたびにその場で描き直します。

背景の透過と、白背景にしたいとき

描画前にキャンバスを消去してから描くため、SVGで塗っていない領域は透明のままPNGになります。ロゴやアイコンをそのまま重ねられる一方、白背景が前提の資料に貼ると背景が抜けて見えることがあります。白(や任意の色)を敷きたい場合は、SVGの側に最初の要素として矩形を置いてから変換してください。

<rect width="100%" height="100%" fill="#ffffff"/><svg> の直後に入れるのが手軽です。JPEGで書き出す機能はないため、透過を確実に潰したい場合もこの方法になります。

エラー表示の意味

表示原因
SVGソースを貼るかファイルを選んでください。ソース欄が空。ファイル選択後は自動でソース欄に流し込まれる
出力サイズが大きすぎます。幅か高さを小さくしてください。幅×高さが1600万pxを超えた
SVGを解析できません。xmlns の欠落やXMLの構文エラーで画像として読み込めなかった
PNGを作成できませんでした(サイズが大きすぎる可能性があります)。指定は上限内でも、その端末のブラウザがPNGを書き出せなかった

よくある質問

入力したSVGはサーバーに送信されますか?
いいえ。読み込みもPNG変換もすべてお使いのブラウザ内で行われ、SVGが外部に送信・保存されることはありません。開いたページを閉じなければ、通信が切れても処理できます(再読み込みには通信が必要です)。
外部SVG URLは使えますか?
いいえ。ファイル選択またはソース貼り付けのみ対応しています(外部通信なし)。URLで読み込みたい場合はSVGの中身をコピーしてソース欄に貼り付けてください。
出力サイズは自由に決められますか?
はい。幅・高さ(px)を指定して書き出します。SVGはベクター形式なので、元の表示サイズより大きな値を指定しても線がぼやけず鮮明なPNGになります。例: 512×512 や 1024×1024。
変換できないSVGはありますか?
外部画像やWebフォントを参照するSVGは、外部通信を行わないため正しく描画されないことがあります。viewBox付きの自己完結したSVGが確実です。解析できない場合はエラーを表示します。
「SVGを解析できません。」と出るときは?
先頭のsvgタグに xmlns="http://www.w3.org/2000/svg" が付いているか確認してください。HTMLからコピーしたコードでは省略されていることが多く、単独のXMLとして読めないとこのエラーになります。閉じていないタグや、エスケープしていない & もXMLの解析に失敗する原因です。
SVG内の文字が別のフォントになる・消えるのはなぜ?
SVGを画像として読み込んで描画するため、Webフォントの読み込みや外部参照が無効になる仕組み(セキュアな静的モード)です。端末にあるフォントで代替されるか、参照できないと描かれません。見た目を固定したいときは、変換前にテキストをパスへ変換してから貼り付けてください。