ZeroTool Workbench
SVG PNG 変換ツール
SVG をブラウザだけで PNG・JPEG・WebP に変換。倍率やピクセル指定、透過背景、複数ファイルの一括 ZIP 出力に対応。xmlns の欠落は自動で補い、外部画像やフォントの問題も表示します。
使い方
.svgファイルを枠にドラッグ&ドロップするか、クリックして選びます。複数まとめて選べます。コードを直接変換するときは「SVG コードを貼り付け」を開きます。クリップボードに SVG コードや SVG ファイルがあれば、ページのどこでも Ctrl/⌘+V で変換できます。- 変換結果がすぐに表示され、上にピクセルサイズとファイルサイズが出ます。
- 「サイズ」で倍率(1x〜4x または任意の数値)、幅、高さ、「幅 × 高さ」のどれかを選びます。幅または高さだけを指定すると縦横比を保ちます。
- 形式(PNG・JPEG・WebP)と背景(透過・白・任意の色)を選びます。設定を変えると結果もその場で更新されます。
- 「PNG をダウンロード」を押します。複数ファイルのときは行ごとのボタンか「すべてダウンロード(.zip)」を使います。
LINE スタンプ用の PNG を一括で書き出す
LINE Creators Market の制作ガイドライン(スタンプ)では、画像はすべて PNG、スタンプ画像は最大 横 370 × 縦 320 px、メイン画像は 240 × 240 px、トークルームタブ画像は 96 × 74 px で、サイズは偶数、背景は透過、1 個あたり 1MB 以下と決められています。Illustrator や Figma で描いた SVG なら、本ツールで次のように書き出せます(2026-09-30、macOS の Chrome 152 で実測。素材は viewBox=“0 0 100 100” の顔アイコン 3 枚)。
| 用途 | 設定 | 結果 |
|---|---|---|
| スタンプ画像 | 3 ファイルを同時に選択、サイズ「高さ」320、背景「透過」 | 320×320 の PNG が 3 枚(stamp-01-320x320.png ほか、1 枚目 16,901 バイト)。「すべてダウンロード」で ZIP 1 個にまとまる |
| メイン画像 | 「幅 × 高さ」240 × 240 | 240×240、11,741 バイト |
| タブ画像 | 「幅 × 高さ」96 × 74 | 96×74、3,322 バイト。図形は中央に置かれて左右が透明になり、縦横比が SVG と違うことが表示される |
どれも偶数サイズ・透過背景・1MB 以下で、ガイドラインの条件に収まります。
出力サイズの決まり方
等倍では、SVG のルート要素が宣言するサイズで出力します。単位は CSS の絶対長で換算します(1in = 96px、1mm = 96/25.4px)。
width=“50mm” height=“25mm”→ 189×94。mm を px と取り違えると 50×25 になります。width=“200”とviewBox=“0 0 24 12”→ 高さは viewBox の比率から 100。- viewBox だけ → viewBox の幅と高さ。
width=“100%”のような割合は置き場所のページで決まるため、viewBox を使います。 - どれもない → 300×150。
描画の前に、出力サイズを SVG の width と height に書き込み、viewBox がなければ補います。小さな画像を引き伸ばすのではなく、最終解像度でベクターを描き直します。「幅 × 高さ」の比率が SVG と違うときは、SVG の preserveAspectRatio に従って配置されます(既定は中央)。
自動で直すこと・知らせること
xmlnsの欠落:HTML に直接書いた<svg>にはxmlnsが要らないため、Web ページや React コンポーネントからコピーしたコードにはよくありません。そのまま保存した SVG は画像として開けないので、本ツールはxmlns=“http://www.w3.org/2000/svg”を補って変換し、補ったことを表示します。- 外部参照:
<img>として描画される SVG は SVG Integration 仕様の secure animated mode で処理され、スクリプトも外部ファイルも使えません。Chrome では外部<image>が「画像なし」アイコンとして描かれてしまうため、リンクを外して URL を一覧表示します。 - XML エラー:たとえば本文に
(HTML の文字参照)があると、何行目かを示して への書き換えを案内します。 <foreignObject>:Chrome は SVG 内の HTML を描いた canvas の書き出しを拒否します。空の画像を出さずに理由を表示します。
変換の前にファイルを軽くするなら SVG 圧縮・最適化ツール、React で使うなら SVG → JSX、favicon 一式を作るなら Favicon ジェネレーターが使えます。
ほかの変換ツールとの違い
2026-09-30 にデスクトップ版 Chrome で同じファイルを使って確認しました。「幅だけ」は width=“200” viewBox=“0 0 24 12” の SVG で、等倍の正解は 200×100 です。
| ツール | 幅だけ | xmlns なし | 外部 <image> | <foreignObject> |
|---|---|---|---|---|
| shinsu.jp SVG→PNG変換ツール | 24×12 | 「画像を読み込めませんでした」 | 表示なしで消える | 透明な 200×60 の PNG、表示なし |
| svgtopng.com(既定 2x) | 400×24、つぶれる | 「Processing failed」 | 表示なしで消える | 透明な PNG、表示なし |
| 本ツール | 200×100 | xmlns を補って変換 | リンクを外して URL を表示 | 原因を示すエラー |
shinsu.jp は width=“100%” と 200×100 の viewBox を持つ SVG も 100×100 で出力し、円が縦長につぶれました。どちらもブラウザ内で変換するツールで、svgtopng.com は一度に 20 ファイルまで扱えます。
制限
- 描画はブラウザ自身の SVG エンジンで行うため、Chrome・Firefox・Safari で文字のアンチエイリアスやフィルターの結果が少し異なることがあります。
- 文字はこの端末にインストールされたフォントで描かれます。別の PC ではフォントが変わることがあるので、固定したいときはフォントを data: URI で
@font-faceに埋め込んでください。 <foreignObject>を含む SVG は、Chrome(152 で確認)と同じエンジンの Edge では書き出せません。- SMIL アニメーション付きの SVG は最初のフレームだけを保存します。
- canvas から WebP を書き出せないブラウザでは PNG が返されます。本ツールはその PNG を保存し、その旨を表示します。
.svgz(gzip 圧縮した SVG)には対応していません。展開してから読み込んでください。
コマンドラインでの一括変換
ファイルが多い場合やビルド処理に組み込む場合は、librsvg で SVG を描画する Node.js ライブラリ sharp が使えます。sharp 0.34.5(librsvg 2.61.2)で viewBox だけを持つ 24 × 24 のアイコンを変換した結果:
import sharp from 'sharp'; // npm install sharp
await sharp('icon.svg').resize(512, 512).png().toFile('icon-512.png'); // 512 × 512
await sharp('icon.svg', { density: 288 }).png().toFile('[email protected]'); // 4 × the SVG size
resize も density も指定しないと、PNG は SVG 自体のサイズ(ここでは 24 × 24)になります。既定の密度は 72 なので、density: 288 で 96 × 96 です。librsvg はブラウザとは別の描画エンジンで、Web フォントや CSS の @import に依存する文字は見た目が変わることがあります。フォルダごと変換する前に、1ファイルをこのページの結果と比べてください。
FAQ
24×24 のアイコンが小さい PNG になるのはなぜですか?
viewBox だけで width / height がない SVG には固有のピクセルサイズがないため、等倍では viewBox の値がそのまま使われます。viewBox="0 0 24 24" なら 24×24 px です。倍率を 4x にするか、サイズを「幅」に切り替えて必要なピクセル数を入力してください。ベクターを出力サイズで描き直すので、輪郭はぼやけません。
透過背景は保たれますか?
PNG と WebP は、背景が「透過」なら保たれます。JPEG には透過がなく、HTML の仕様では canvas から書き出すと透明部分が黒で合成されるため、本ツールは白で塗りつぶしてその旨を表示します。別の色にしたいときは背景色を指定してください。
SVG 内の画像や Web フォントが PNG に出ないのはなぜですか?
ブラウザは SVG を画像として描画し、このときファイル外のリソースを一切読み込みません。外部 <image>、別ファイルを参照する <use>、CSS の @import や Web フォントが該当します。本ツールはこうした参照をプレビューの下に一覧表示します。残したい場合は data: URI で埋め込んでください。埋め込まない文字はインストール済みのフォントで描画されます。
ファイルはアップロードされますか?
されません。読み込み・描画・PNG 生成はすべてこのタブの中で行います。SVG は画像として描画されるので、中のスクリプトやイベント属性も実行されません。ページを開いたあとでネットワークを切っても変換できます。
どこまで大きく書き出せますか?
一辺 65,535 px まで、かつブラウザの canvas 上限の範囲内です。デスクトップ版 Chrome は 268,435,456 ピクセル(16,384×16,384)、iPhone と iPad は 4,096×4,096 までです。上限を超えると、空の画像を保存せずにエラーを表示します。