SVGサニタイザー オンライン

FigmaやAdobe Illustrator、Inkscapeからエクスポートしたsvgを最適化してクリーンアップ。メタデータや不要な属性、空のグループを削除し、本番環境に対応したSVGを生成します。

ユーティリティスタジオ

このユーティリティをあなたのサイトに追加しませんか?

WordPress、Notion、またはご自身のサイト向けに、カラーとダークモードをカスタマイズできます。

よくある質問

SVGが埋め込まれたページのHTML全体を貼り付けることはできますか?

はい。HTML内のSVG要素を自動的に検出し、そのブロックだけを抽出して処理します。SVGフラグメントをそのまま貼り付けた場合も同様に動作します。

IllustratorのSVGにも対応していますか?

はい。IllustratorがエクスポートするSVGにはXML宣言やメタデータ、独自のnamespaceが含まれますが、これらをすべて削除します。結果として、あらゆるモダンブラウザと互換性のあるSVGが得られます。

クリーニングとminify(圧縮)の違いは何ですか?

クリーニングは不要な属性やタグを削除しますが、コードを読んで編集できるようにインデント形式を保持します。minifyはさらにすべてを1行に圧縮し、ファイルサイズを最小化します。

IDを削除するとSVGが壊れることはありますか?

SVG内の要素が別の要素をIDで参照している場合、例えばfill="url(#gradient)"のような場合にのみ問題が発生します。その場合はIDを削除オプションをオフにしてください。この問題を防ぐため、デフォルトでは無効になっています。

SVGコードはサーバーに送信されますか?

いいえ。すべての処理はブラウザ上でネイティブのDOMParserおよびXMLSerializer APIを使用して行われます。コードがデバイス外に出ることは一切ありません。

# SVGサニタイザー:FigmaとIllustratorのコードをクリーンアップ

FigmaやAdobe Illustrator、ブラウザのインスペクターからエクスポートしたSVGを貼り付けるだけで、クリーンで最適化された、本番環境にそのまま使えるベクターファイルが得られます。

# エクスポートしたSVGはなぜ汚いのか?

FigmaからSVGをエクスポートすると、アプリ内でのみ意味を持つ属性が大量に含まれたファイルが生成されます。data-namexml:space、内部レイヤーへの参照、デザインメタデータなどがその例です。結果として、本来必要なサイズより40〜70%も大きなSVGになることがあります。

# サニタイザーが削除するもの

  • エディタのメタデータ:FigmaやIllustratorが自動的に追加するmetadatatitledescタグ。
  • Inkscapeのnamespace:inkscape:sodipodi:プレフィックスを持つすべての要素。
  • 不要な属性:xml:spaceversion、余分なxmlns:*、Figmaのdata-*属性。
  • 空のグループ:削除されたレイヤーの残骸として残る、コンテンツのない<g>要素。
  • XML宣言:HTMLにSVGを埋め込む際には不要な<?xml version="1.0"?>宣言とDOCTYPE。

参考文献