PNGをSVGに一括変換する方法(5つの方法の比較)
複数のPNGファイルをSVGに一括で変換するテスト済みの5つの方法(オンラインツール、ホットフォルダー、無料のデスクトップアプリ、スクリプト、API)について、コスト、スループット、カラー対応、プライバシーの観点から比較します。
一括処理の問題点と避けるべき落とし穴
10個のPNGがある。あるいは400個。または、Adobeのコミュニティフォーラムで最も長いスレッドの1つを引き起こしたデザイナーの51,000ファイルに関する質問のように、アセットライブラリ全体をベクター化する必要がある。手作業で1つの画像を変換するのは構いませんが、それ以上の数になると、フォルダ全体のラスター画像をSVGのフォルダに変換する「一括処理のワークフロー」が必要になります。もし本当に重要なファイルが1つだけなら、 無料のオンラインPNG-SVGコンバーターが1分以内で作業を完了させます。このガイドでは、それ以上の規模の作業について網羅しています。
方法を比較する前に、定義を1つ。真の一括変換とは、すべてのPNGが「ベクター化」されることを意味します。つまり、図形が数学的なパスとして再描画されることであり、それが ベクター化が実際に意味するものです。多くのツールはこのステップを完全にスキップしており、それが結果のすべてを変えてしまいます。
よくある失敗のパターン:一部の「SVGコンバーター」は何もトレースせず、単にPNGを埋め込み画像として.svgファイル内にラップするだけです。結果は「完璧」に拡大縮小できるように見えますが、それは単なるビットマップの偽装にすぎません。出力されたファイルをテキストエディタで開いてみてください。<path>要素の代わりに巨大なbase64の<image>タグがある場合、それは何もベクター化されていないことを意味します。以下のすべての方法は、実際のトレースが行われるかどうかで評価されています。
コンバーターの実際の結果
方法1:オンラインの一括コンバーター
小規模なバッチを最も速く処理する方法です。複数のオンラインツールが一度に複数ファイルを処理できます:to.imagestool.comではPNGのセットをドラッグ&ドロップし、ブラウザ上でローカルに処理します。Pixeliedは一括アップロードを受け付け、結果をZIPで提供します。ImageResizer.comやreaConverterのウェブ試用版も同様に機能します。インストールもコマンドラインも不要です。ファイルをドロップし、結果をダウンロードするだけです。
実際の業務を任せる前に、2つの確認事項があります。第1に、ツールが実際にトレースを行うか確認してください。一部の「一括」サイトは、サーバー上で単一ファイルの変換をループ処理し、偽のSVGのZIPを返すだけです(前述の「埋め込みの罠」)。第2に、アートワークが商業目的またはNDA(秘密保持契約)の対象である場合は、プライバシー規約を読んでください。ブラウザベースのツールはファイルを決してアップロードしませんが、サーバーベースのツールは各画像を他人のマシンに送信します。透明性のために言及すると、PixelToPath独自の無料オンラインコンバーターは、意図的に単一ファイル専用となっています。これは400個のファイルが入ったフォルダのためではなく、1つの重要なロゴのための適切なツールであり、この比較でもまさにそのようなものとして位置づけられています。
方法2:ホットフォルダー機能付きのデスクトップアプリ (PixelToPath Pro)
一括処理が単発ではなく毎週発生するような場合、ホットフォルダー機能を使えば手作業のステップを完全に排除できます。PixelToPath Pro(WindowsおよびLinux対応)はフォルダーを監視し、そこに保存された画像を自動的に変換します。全体のフローは以下の4ステップです:
- フォルダーを選択する: 監視するフォルダーと、SVGを出力するフォルダーを選択します。
- PNGをドロップする: 10個でも数百個でも、入力フォルダーにすべてのファイルを保存、コピー、またはドラッグします。
- 処理を任せる: ファイルが到着するたびに、保存した設定プロファイルを使用して、すべてローカルマシン上でトレースが行われます。
- SVGを回収する: 出力フォルダーに、元のファイル名で結果が表示されます。
一括処理で重要な点:キュー全体に1つの設定プロファイルが適用されるということです。400個のアイコンを手作業で変換すると、300番目のファイルが12番目のファイルと完全に一致することは決してありません。プロファイルを使用すれば、すべての出力が一貫します。これが手作業のワークフローをダメにする原因なのです。すべてがローカルで実行されるため、アップロードの制限はなく、ファイルがマシンから外部に送信されることはありません。Proは1回買い切りで39ユーロ(税別)で、1ユーザーにつき最大3台のマシンで永久ライセンスとして利用できます。 ホットフォルダーによる一括変換のページで、含まれるすべての機能の詳細を確認できます。これはここで紹介する5つの選択肢のうちの1つですが、一括変換を「何も考える必要のないステップ」にするために構築された唯一の選択肢です。
方法3:無料のデスクトップアプリとInkscape
すでに無料のデスクトップアプリを使用していますか? このアプリはオフラインでPNG、JPG、BMP、WebPをSVGに変換し、ファイル数の制限はなく、高度なトレース設定に完全にアクセスできますが、一度に変換できるのは1ファイルのみです。「一括処理」こそがProのアップグレードで追加される機能であり、誤魔化さずに明確に伝える価値があります。無料で、ローカル環境で、GUIベースのものを求めているなら、 無料のデスクトップコンバーターが単一ファイルにおける最も誠実な選択肢です。現実的なスループットは数百ファイルではなく、1日に数十ファイルです。
Inkscapeも無料で使える定番ツールです。「ビットマップをトレース」ダイアログも単一画像向けであり、Inkscapeにはループ処理のスクリプトに組み込めるコマンドラインオプションも用意されていますが、使い勝手は粗削りで、ドキュメントもほとんどありません。ちなみに、GIMPにはネイティブでの一括ベクターエクスポート機能は一切ありません(フォーラムのスレッドで定期的に確認されています)。GUIのワークフローに何時間も費やす前に、各ファイルに本当にベクター画像が必要かどうかを確認してください: ウェブにおけるSVG対PNGの比較記事では、変換する価値があるケースについて解説しています。
方法4:コマンドラインスクリプト (ImageMagick, Potrace, VTracer)
単発の大規模なジョブなら、10行のシェルスクリプトがどんなGUIにも勝ります。白黒処理の古典的なパイプラインは、ImageMagickをPotraceに連結します。つまり、変換してからトレースします: magick input.png input.pbm && potrace -s -o input.svg input.pbm
これをフォルダー内の "for" ループで囲むと、PotraceはCPUの速度で真のベクターパスを出力します。ただし、完全に白黒のみです。カラーが必要な場合は、同じループを「vtracer」(PixelToPathも採用しているオープンソースのRust製トレーサー)に向けます。どちらのツールもマニュアルが1冊書けるほどの十分なフラグを持っているため、それぞれに専用のガイドが用意されています(公開され次第、ここにリンクされます)。スクリプトはコスト(無料)、プライバシー(ローカル)、ボリューム(1回の実行で数千件)の面で優れていますが、導入の面では劣ります。パイプラインのメンテナンスが必要になり、スクリプトが壊れた午後の時間を誰も補償してくれません。
方法5:CIやサーバーサイド作業向けのAPIループ
デプロイ中、ビルドパイプライン内、バックエンドからなど、変換をサーバー上で行う必要がある場合、ローカルツールは選択肢から外れます。このパターンはループ処理になります。Bearerキーを使用して画像ごとに1回のステートレスなPOSTを行い、各SVGがアセットパイプラインに直接書き込まれます。制限はキー1つにつき1分間に60リクエストなので、ループのペースを調整し、レート制限に達した呼び出しにはエクスポネンシャルバックオフで再試行してください。失敗した呼び出しでクレジットが消費されることはありません。 REST APIで一括処理全体を自動化でき、ローカルでのインストールは一切不要です。これこそがまさにAPIの目的です。
コスト計算は予測可能です。プリペイドの画像は大量になれば1枚あたり0.05ユーロから0.01ユーロに下がるため、500画像で約20ユーロ、1万画像で約200ユーロになります。さらに、どのアカウントにも毎月10回の無料変換が付与されます。変換が再現可能で、サーバーサイドで実行され、ローカルの依存関係を持たない必要がある場合は、APIを選択してください。ローカルで対話的に実行する場合は、ホットフォルダーを選択してください。この2つで現実世界の一括処理のほぼすべてをカバーできます。
PNGのSVG一括変換:5つの方法の比較
同じ入力でも、5つの条件は大きく異なります。コストとプライバシーは構造的なものであり、プロモーションではありません。スループットは、現実的なハードウェア上の1人のオペレーター(または控えめなサーバー)を想定しています。また、「カラー」とは黒いシルエットではなく、真のマルチカラーのベクター出力を意味します。
| 方法 | コスト | ファイル数/日 (現実的) | カラー | 品質管理 | プライバシー | 必要なスキル |
|---|---|---|---|---|---|---|
| オンラインコンバーター | 無料 | 50〜500 (手動) | ツールに依存 | プリセットのみ | 様々 - 規約を確認 | 不要 |
| Proのホットフォルダー | 1回買い切りで39ユーロ | 数千 (ローカルのCPU) | 対応 | 1つのプロファイル、全設定 | 100%ローカル | 不要 |
| 無料デスクトップ / Inkscape | 無料 | 20〜100 (1度に1つ) | 対応 (単一ファイル) | フル機能、ファイルごと | 100%ローカル | 基本操作 |
| スクリプト (CLI) | 無料 | 数千以上 (ローカルのCPU) | Potraceは非対応 - VTracerは対応 | フル機能 (フラグ) | ローカル | コマンドライン |
| APIループ | 月10枚無料、以降画像あたり0.01〜0.05ユーロ | 数万 (60リクエスト/分) | 対応 | 呼び出しごとのエンジンパラメータ | ファイルはアップロードされる | 開発者 |
1か月に1回以上の一括変換を行う場合、方法2と5は導入初日で元が取れます。それより規模が小さいすべての作業について、方法1または3は少しの時間を除けばコストはかかりません。
関連する変換ガイド
一括変換はステップ1です。これらはその後のステップをカバーしています。
よくある質問
無料でPNGをSVGに一括変換できますか?
はい、2つの方法があります。コマンドラインスクリプト(Potrace、ImageMagick、VTracer)はファイル数の制限なしで無料であり、無料のデスクトップアプリやInkscapeも無料ですが、一度に変換できるのは1ファイルのみです。複数ファイルを無料で受け付けるオンラインツールも存在しますが、商業的なアートワークを送信する前に、本当にベクター化が行われているか確認し、プライバシー規約を必ず読んでください。
一括変換時に色を保持するにはどうすればよいですか?
カラートレーサーを使用してください。Potraceはどのようにスクリプトを組んでも完全に白黒になります。VTracer、PixelToPath Pro、およびPixelToPath APIはすべて、各色の領域を独自のベクター図形として再構築するカラーエンジンを実行します。vtracerを使用してループをスクリプト化するか、保守の手間を省きたい場合はProやAPIを使用してください。
PNGのZIPをアップロードしてSVGのZIPを取得することはできますか?
一部のオンラインツール(例えばPixelied)は一括アップロードを受け付け、ZIPを返します。デスクトップの一括処理モードやスクリプトは、ワンステップでZIP化できる出力フォルダーに結果を書き込みます。APIは呼び出しごとに1つのSVGを返すため、アーカイブの処理はご自身の側で行う必要があります。通常、ビルドパイプラインが求めているのはまさにそのような動作です。
一括処理の結果が黒い長方形になってしまったのはなぜですか?
それは「埋め込みの罠」です。ツールが各PNGをトレースする代わりにSVGのラッパー内に包んだため、表示に失敗した埋め込みラスター画像が見えているのです。出力されたファイルを1つテキストエディタで開いてみてください。単一のbase64の<image>タグがあることで確認できます。本物の<path>要素を出力するツールを使って、一括処理を再実行してください。
50,000個のファイルがあります。実際に機能するのはどれですか?
ホットフォルダーかAPIです。それ以外のすべては、その数に到達するずっと前に上限に達します。1分間に60リクエストのペースで、APIは約14時間の実時間と、約200ユーロのプリペイドクレジットで50,000枚の画像を処理します。ローカルのホットフォルダーはオフラインで同じ作業を行い、スループットはCPUの性能に依存します。どちらも、実行プロセス全体を通じて同一の設定を維持します。
溜まったPNGを片付ける準備はできましたか?
無料のオンラインツールで単一ファイルを変換する、Proでホットフォルダーを設定する、またはAPIをループ処理する。どのルートを選んでも、最後はクリーンで真のベクターパスにたどり着きます。