メインコンテンツへスキップ
Toolars
探索

SVG を PNG に変換

SVG を開くと、このページは厳格な許可リストでファイルを無害化し、安全になった内容を選んだ倍率で透過 PNG に描画します。すべてブラウザ内で行われます。スクリプトは実行されず、ファイルもアップロードされません。知っておきたいのは、CSS によるスタイル、フィルター、マーカー、埋め込み画像など、許可リストにないものは描画前に削除されるという点です。

ツールの概要

SVG のサイズ上限
マークアップ 2 MiB まで。image/svg+xml として識別されること
倍率
1x・2x・3x・4x のボタン(このページでは 2x が初期設定)。「書き出しスケール」には 0.01〜32 も入力できます
出力の上限
拡大後に 1 辺 8,192 px、24 MP まで
描画前に削除されるもの
スクリプト、イベントハンドラ、style 属性と <style>、フィルター、マーカー、<image>、foreignObject、外部 URL と data: URL
受け付けないもの
DOCTYPE や ENTITY の宣言、width/height も viewBox も持たないファイル
背景
PNG では透明。塗りつぶし色が使われるのは JPEG に切り替えたときだけです

タスクの道筋 / 入力から結果へ

SVG を PNG にラスタライズする手順

  1. 01

    SVG を追加する

    「ファイルを選択」で一度に 1 つの .svg を選べます。元のマークアップがページに挿入されることはなく、プレビューはサニタイズ後の描画が終わってから表示されます。

  2. 02

    サイズを選ぶ

    「書き出しスケール」の下にある 1x・2x・3x・4x をクリックするか、「出力幅」と「出力高さ」に正確なピクセル値を入力します。

  3. 03

    サニタイズして変換

    「サニタイズして変換」を押します。最終的なピクセルサイズと、安全でない・未対応のため削除された項目の数がまとめて表示されます。

  4. 04

    確認してダウンロードする

    削除数が 0 より多い場合は、PNG をダウンロードする前にプレビューと元のアートワークを見比べてください。

ベクターのアートワークをピクセルにする

SVG は図形を記述する形式なので、どんなサイズでもくっきり表示されます。しかしスライド作成ツール、文書エディタ、ストアの掲載ページなど、固定のビットマップを求める場面は少なくありません。PNG にラスタライズすれば透過は残り、失うのは選んだピクセルグリッドの粗さだけです。

決め手になるのはそのグリッドです。倍率は SVG 自身の width と height(これらの属性がなければ viewBox)に掛けられるので、64×64 のアイコンは 2x で 128×128 になります。PNG をあとから拡大するとぼやけるため、必要な最大サイズで描画しておきましょう。

意外な結果の多くはサニタイズで説明がつきます。パス、基本図形、テキスト、グラデーション、クリップパス、マスク、パターン、ローカルの <use> 参照は残り、fill や stroke などのプレゼンテーション属性も保持されます。CSS クラス、style 属性、<style> ブロックにあるスタイルは削除されるため、そうした形で書き出したアートワークは黒くなったり塗りが消えたりすることがあります。

よくある質問

PNG が黒くなったり色が消えたりするのはなぜですか?
色が CSS(<style> ブロック、クラスのルール、style 属性)で指定されていた可能性が高いです。これらは取り除かれ、SVG の図形は既定で黒く塗られます。CSS ではなくプレゼンテーション属性(fill、stroke)で SVG を書き出し直すか、デザインツールでインライン属性形式の書き出しを選んでください。
高密度ディスプレイにはどの倍率を選べばよいですか?
このページは 2x で開きます。SVG で宣言された寸法を 2 倍にするもので、ほとんどの高密度ディスプレイに合います。大きく配置するなら 3x か 4x を使いますが、結果は 1 辺 8,192 px・24 MP に収まる必要があります。
矢印の先端やドロップシャドウが消えるのはなぜですか?
SVG では矢印の先端は marker 要素、ドロップシャドウは filter 要素で描かれますが、どちらもサニタイザの許可リストにありません。SVG を書き出す前に、編集ソフトでそれらの効果を通常のパスに変換してください。
SVG が受け付けられなかったのはなぜですか?
よくある原因は、DOCTYPE や ENTITY の宣言がある、ファイルが 2 MiB を超えている、image/svg+xml として認識されない、ルート要素に width・height・viewBox のいずれもない、のどれかです。描画がピクセル上限を超えてしまう倍率も、該当する上限を示したうえで拒否されます。
リンクしたフォントや画像は PNG に表示されますか?
表示されません。外部 URL、data: URL、<image> 要素は削除されるため、リンクした画像や Web フォントは読み込まれません。テキストは、指定された font-family に対してブラウザがすでに持っているフォントで描画されます。文字の形を正確に再現したい場合は、編集ソフトでテキストをアウトライン化してください。

SVG → 画像変換