Skip to content
Back to Blog
how-to-convert

SVGをPNGに変換する方法:印刷とWebでのベストプラクティス

2026-05-17 8 min read

そもそも、なぜSVGをPNGに変換する必要があるのか?

SVG(Scalable Vector Graphics)は、本来なら完璧なフォーマットのはずです。ピクセルではなく数式上のパスとして図形を保存するため、ロゴを小さなファビコンから巨大なビルボードまで拡大しても、シャープなエッジが一切失われません。では、なぜわざわざ変換の話をするのでしょうか? それは、現実の世界では多くのプラットフォームがSVGをサポートしていないからです。デフォルトのWordPressのメディアライブラリにSVGをアップロードしようとすると、セキュリティブロックに引っかかります。PrintfulやRedbubbleのようなほとんどのプリントオンデマンドサービスでは、業務用の印刷ソフトウェア(RIP、つまりRaster Image Processor)がXMLではなくピクセルを必要とするため、PNGやJPEGといったラスタ形式が要求されます。メールクライアントや古いバージョンのMicrosoft Officeでさえ、SVGの表示が崩れたり、全く表示できなかったりします。ここでPNGの出番です。PNGには重要なアルファ透明チャンネルがあり、ロゴの背景に白い四角がくっつくことなく、透明に保つことができます。また、ロスレス圧縮を使用するため、ファイルを保存するたびに品質が劣化することもありません。欠点は? PNGは解像度に依存するということです。一度幅300ピクセルで書き出してしまうと、それを3000ピクセルに引き伸ばせばピクセルが荒いガビガビの状態になってしまいます。これが根本的なトレードオフであり、最初から正しい出力サイズを指定することが、このプロセス全体で最も重要なステップになるのです。

解像度を理解する:PPI、DPI、そして使うべき数値

まず、この点をはっきりさせておきましょう。解像度は、このプロセス全体で最も混乱しやすい部分です。人々はDPI(dots per inch)とPPI(pixels per inch)を同じもののように使いますが、これらは違います。あなたがコントロールするのはPPIです。これは、作成するデジタル画像のピクセル密度を指します。DPIは物理的なプリンターが行うことで、紙の上にどれだけ小さなインクの点を配置するかを示します。SVGをPNGに書き出す際に設定するのはPPIです。 Webグラフィックについては、はっきり言っておきましょう。古い「Webは72 PPI」というルールは、もはや化石のようなものです。意味がありません。重要なのは、絶対的なピクセルサイズです。グラフィックは、表示されるのとまったく同じサイズで書き出してください。ヒーローイメージのスロットが1200 × 600ピクセルなら、1200 × 600ピクセルのPNGを書き出します。現代のRetinaやHiDPIスクリーン向けには、シャープさを保つために「2x」バージョン、この場合は2400 × 1200ピクセルも必要になります。 印刷では、この数値が本当に重要になります。業界標準は、最終的な物理サイズで計算して300 PPIです。標準的な3.5 × 2インチの名刺をデザインする場合、PNGは少なくとも1050 × 600ピクセル(3.5 × 300と2 × 300)必要です。大きなA4ポスターの場合、その300 PPIの目標を達成するには2480 × 3508ピクセルの画像が必要になります。唯一の例外は、バナーのような遠くから見る大判印刷物で、距離があるとピクセルが混ざり合って見えるため、150 PPIや96 PPIでも十分な場合が多いです。 この柔軟性こそが重要なのです。元のSVGは解像度に依存しません。全く同じソースファイルから、小さなアイコン用のPNGと巨大なポスター用のPNGを、元データに一切手を加えることなく生成できます。これは、低解像度のJPEGから始めた場合には決して得られない力です。

CocoConvertを使ってSVGをPNGに変換する方法

CocoConvertはブラウザで動作するため、IllustratorやInkscapeをインストールする必要はありません。変換は当社のサーバーで処理されます。プロセスはシンプルですが、設定を確認せずにいきなり「変換」ボタンを押さないでください。重要なのは詳細設定にあります。 1. まず、[SVGからPNGへのコンバーター](/convert/svg-to-png)ページにアクセスします。 2. SVGファイルをアップロードエリアにドラッグするか、「ファイルを選択」ボタンを使います。ファイルサイズの上限は50 MBと余裕がありますが、ほとんどのSVGは非常に小さく、多くは1 MB未満です。 3. ここが最も重要なステップです。変換する前に、「出力設定」パネルを開いてください。ここでターゲットの幅をピクセル単位で設定します。先ほど計算した数値、例えば300 PPIのA4印刷ジョブなら2480 pxを使います。CocoConvertは元のアスペクト比を自動的に維持します。「カスタムサイズ」のチェックボックスは、特定の高さを強制して画像を歪ませる必要がある場合にのみ使用してください。 4. 背景はデフォルトで透明になっており、アルファチャンネルが保持されます。通常はこれで問題ありません。もし単色の背景が必要な場合(例えば、後工程でJPEGしか受け付けないワークフローなど)、後からPhotoshopで修正する代わりに、ここで色を設定できます。 5. 「変換」をクリックして、新しいPNGファイルを入手します。 フォントに関するちょっとした注意点です。CocoConvertは標準的なブラウザエンジンを使ってSVGをレンダリングします。これは、もしあなたのSVGがCSSの`@font-face`ルールで特殊なフォントを使用している場合、そのフォントがSVGファイル自体に埋め込まれていない限り、正しく表示されない可能性があることを意味します。Webでのフォントレンダリングで苦労したことのある人なら、この特有の頭痛の種をご存知でしょう。万能な解決策は、SVGを書き出す前に、ベクターエディタでテキストをアウトライン(またはパス)に変換することです。Illustratorでは `Type > Create Outlines`、Inkscapeでは `Path > Object to Path` です。これによりテキストが図形に変換され、どこでも同じように表示されることが保証されます。これはロゴにとっては、いずれにせよ良い習慣です。

複数のSVGファイルを一括変換する

アイコンライブラリやUIキット、あるいはブランドアセットのフォルダを扱っている場合、ファイルを一つずつ変換するのは非効率的で、やってられません。CocoConvertでは一括変換が可能です。ファイルピッカーで(ShiftキーまたはCtrl/Cmdキーを押しながら)すべてのSVGファイルを一度に選択するだけで、すべて同じ出力設定で処理されます。変換されたPNGは、一つの整頓されたZIPアーカイブで提供されます。 一括処理を実行する際に理解しておくべき挙動がいくつかあります。選択した幅の設定はバッチ内のすべてのファイルに適用されますが、各ファイルのアスペクト比は個別に保持されます。例えば、正方形の24 × 24 pxのアイコンと、横長の1200 × 300 pxのバナーが同じバッチにあり、出力幅を512 pxに設定したとします。その場合、アイコンは512 × 512 pxのPNGになり、バナーは512 × 128 pxのPNGになります。これはサイズの異なるファイルが混在するバッチではほとんどの場合望ましい挙動ですが、巨大なフォルダを処理する前に知っておくと良いでしょう。 また、入力ファイル名にも注意してください。出力されるZIPファイルは、拡張子を.pngに変更しただけで、元のファイル名を反映します。ソースファイルが`icon-home.svg`や`icon-cart.svg`のように適切に命名されていれば、出力も同様に整理されます。もし`download(1).svg`のような名前なら、後で混乱することになるでしょう。アップロードする前にファイル名を整理しておきましょう。 はっきり言っておきますが、仕事には適切なツールを使いましょう。CocoConvertは利便性のために作られており、数十から数百個のファイルの変換に最適です。もし500以上のファイルが入ったフォルダを扱うような大規模な自動化パイプラインを考えているなら、InkscapeやImageMagickのようなコマンドラインツールの方が適しています。タスクの規模に合ったツールを使いましょう。

変換前にSVGを準備する:よくある落とし穴

最終的なPNGの品質は、元のSVGの品質以上にはなりません。「ゴミを入れれば、ゴミしか出てこない」という古典的な問題です。変換がうまくいかない場合、問題はほとんどの場合SVGコード自体に潜んでいます。調査すべき最も一般的な原因を以下に示します。 一部が欠けていたり、奇妙な白い四角が表示されたりしますか? これは多くの場合、クリッピングパスやマスクが壊れていることを示しています。SVGでは、ある図形で別の図形をマスクすることができますが、マスクと図形の間の参照が(あるアプリから書き出して別のアプリで編集するなどして)壊れると、レンダラーが混乱します。これに気づいたら、SVGをテキストエディタで開き、`clipPath`や`mask`要素でID参照が不正になっていないか検索してみてください。 出力サイズが間違っていますか? 原因は`viewBox`属性が欠落している可能性が高いです。適切に記述されたSVGには、内部の座標系を定義し、正しくスケーリングできるようにするための`viewBox`(例:`viewBox='0 0 100 100'`)が必要です。一部のツールは`width`と`height`属性だけでSVGを書き出すことがあり、その場合、レンダラーが要求した出力サイズを無視して、ファイルの文字通りのピクセルサイズを使用してしまいます。解決策は、SVGを編集して、ドキュメントの寸法に一致する`viewBox`を追加することです。 ベクターファイルなのにピクセル化された部分がありますか? あなたのSVGには、ラスタ画像が埋め込まれているかもしれません。そう、SVGは`<image>`タグの中にJPEGやPNGを隠し持つことができるのです。例えば、ロゴに写真のようなテクスチャがある場合、そのテクスチャのシャープさは、元の埋め込み画像の品質に依存します。ファイル全体を幅4000ピクセルに拡大しても、その一部分だけが魔法のように高解像度になることはありません。 印刷用の色が違いますか? SVGとPNGはどちらもRGBフォーマットであり、デフォルトではsRGBカラースペースで扱われることを忘れないでください。PNGはCMYKカラーデータを保存できません。もしプリンターがCMYKファイルを絶対的に必要とするなら、PNGに変換しても解決しません。ベクターエディタに戻り、TIFFや適切に設定されたPDFのようなCMYKネイティブのフォーマットで書き出す必要があります。

変換後のPNGを最適化する

作成したばかりの美しく高解像度なPNGが、巨大なファイルサイズであることに驚かないでください。複雑なSVGから作成した印刷用のPNG、例えばグラデーションを含む2480 × 3508 pxのファイルは、簡単に15~25 MBを超えることがあります。Webにとっては致命的です。印刷ではサイズはそれほど問題になりませんが、多くの印刷サービスにはアップロード上限があるため、可能であればファイルを10 MB未満に保つのが良い習慣です。 Web配信の場合、最適化は任意ではありません。必須です。PNGをロスレスオプティマイザに通す必要があります。ブラウザベースのSquoosh、コマンドラインユーティリティの`pngquant`、またはWebサービスのTinyPNGのようなツールは、目に見える品質の変化なしにファイルサイズを40~70%削減できます。これらは、カラーパレットを賢く減らし、より効率的な圧縮を適用することで機能します。2 MBのPNGは、`pngquant --quality=65-80 yourfile.png` を使うことで、しばしば300 KB未満にまで縮小できます。 また、Web用の最終フォーマットとしてPNGが本当に最適かどうかを自問すべきです。画像に透明度が不要な場合、WebPに変換するのは賢明な選択です。WebPは現代のブラウザで広くサポートされており、同等のPNGよりも通常25~35%小さいファイルを生成します。Web専用のアセットであれば、CocoConvertを使ってSVGから直接WebPに変換し、中間のPNGステップを完全にスキップできます。 印刷用では、やることは正反対です。最適化は絶対にしないでください。ダウンロードしたままのフル解像度で非圧縮のPNGを、そのまま印刷サービスに送ってください。Printfulのような一部のサービスは、圧縮されたPNGをアップロードしないよう特に警告しています。画面上では全く見えないロッシー圧縮のアーティファクトが、印刷されると目に余るほど明らかになることがあります。

クイックリファレンス:用途別設定ガイド

ファイルを変換するたびに計算する必要はありません。このセクションをブックマークするか、最も一般的な書き出し設定のチートシートとして手元に置いておくと便利です。 **ファビコン (Web用):** 512 × 512 pxで書き出します。現代のファビコンジェネレーターは、この一つの大きなPNGから、必要なすべての小さいサイズ(16, 32, 180, 192 px)を生成してくれます。 **SNSのプロフィール画像:** 最低でも800 × 800 pxを使用してください。Twitter/XやFacebookのようなプラットフォームではもっと小さく表示されますが、より大きなソースファイルをアップロードすることで、それらの圧縮アルゴリズムにより良いデータが供給され、結果としてずっとシャープな最終画像になります。 **Open Graph / ソーシャルシェア画像:** 1200 × 630 px。これはFacebookが推奨し、今ではほぼすべてのサービスで使われている標準的なアスペクト比です。 **名刺 (印刷用, 3.5 × 2インチ @ 300 PPI):** 1050 × 600 px。もし印刷会社が裁ち落とし(bleed)を要求する場合は、各辺に0.125インチを追加し、ドキュメントを1125 × 675 px(各次元で合計75ピクセル追加)にします。 **A4ポスター (印刷用, 300 PPI):** 2480 × 3508 px。 **レターサイズポスター (印刷用, 300 PPI):** 2550 × 3300 px。 **Tシャツの印刷範囲 (12 × 14インチ @ 300 PPI):** 一般的なサイズは3600 × 4200 pxです。 **Retina Webグラフィック (2x):** CSSで定義されたサイズの2倍にします。600 × 400 pxでスタイル付けされた画像には、1200 × 800 pxのソースPNGが必要です。 これらのピクセル値はすべて、[SVGからPNGへのコンバーター](/convert/svg-to-png)ページの幅フィールドに直接入力できます。両方の次元を定義する必要がある正方形でない画像の場合は、カスタムサイズのトグルを使用してください。このリストは素晴らしい出発点ですが、最終的な信頼できる情報源は、常にご利用の印刷サービスの特定のガイドラインです。Redbubble、Printful、Gootenなどはすべて、販売するすべての製品について詳細なピクセルとDPIの要件を公開しています。大きな印刷注文の前に、必ず彼らの仕様を確認してください。

Ready to convert?

Try it now — fast, secure, and private.

Convert Now →
SVGをPNGに変換する方法:印刷とWebでのベストプラクティス | CocoConvert Blog