生のSVGをReactプロジェクトに組み込もうとしたことのある開発者なら、これらの問題を身をもって知っているはずです。
生のSVGはclip-rule、fill-opacity、stroke-linecapのようなハイフン付き属性を使用します。ReactはcamelCase(clipRule、fillOpacity、strokeLinecap)を期待します。一つ欠けるだけで実行時エラーまたは気づきにくいスタイルバグが発生します。
FigmaやSketchはfill="#3B82F6"が埋め込まれたSVGをエクスポートします。すべてのアイコンが使い回しのきかないものになります。同じSVGをダークテーマやホバー状態、別のブランドカラーで使うには複製して再編集が必要です。
デザインツールはエクスポートするSVGに<title>、<defs>、空の<g>グループ、冗長な属性を詰め込みます。この不要なコードはJSXバンドルを膨らませ、解析時間を遅くします。
左にSVGを貼り付けると、右にReactコンポーネントが表示されます
6つの本番レベルの変換が瞬時に、すべてブラウザ内で適用されます。
SVGを貼り付けた瞬間にReactコンポーネントが表示されます。SVGからReact変換はブラウザ内AST変換として実行 — ネットワーク往復ゼロ、ファイルサイズに関係なくゼロ遅延。
TSXモードをオンにすると、コンバータが自動的にinterface IconProps extends React.SVGProps<SVGSVGElement>を先頭に追加します。すべてのpropが型付き。
SVGからReact変換の前に、FigmaやSketchがエクスポートした<title>、<defs>、空のグループ、冗長な属性を除去します。パスが統合・簡略化され、出力サイズが最大60%削減されます。
Tailwindモードを有効にすると、SVGからReact変換ツールがハードコードされたfillとstrokeの色をclassName="fill-current"とcurrentColorに置き換えます。アイコンが親のテキスト色を即座に継承します。
ハイフン付きSVG属性すべて(clip-rule、fill-opacity、stroke-linecap、xlink:href)が自動的にReact camelCase相当に変換されます。classはclassNameになります。常に有効なJSXが出力されます。
1回のトグルでSVGルート要素からハードコードされたwidthとheightを削除します。SVGからReact変換されたコンポーネントがCSSやclassName propでサイズを自己調整し、完全にレスポンシブになります。
生のSVGエクスポートから30秒以内にコピー&ペースト可能なReactコンポーネントへ。
Figma、Sketch、アイコンライブラリ、またはSVGファイルからSVGソースをコピーします。SVGからReact変換ツールの左パネルに直接貼り付けます。マルチパスアイコンや複雑なイラストを含む有効なSVGをすべて受け付けます。
プロジェクトに合った出力形式と最適化を選択します。TypeScriptをオンにすると型付きpropsのTSX出力になります。SVGO圧縮でFigmaの不要コードをSVGからReact変換前に除去します。TailwindをオンにするとcurrentColorでハードコードされた色が置き換えられます。
入力と同時に右パネルにSVGからReact変換出力が表示されます。「コピー」をクリックしてReactコンポーネントをクリップボードに送り、.jsxまたは.tsxファイルに直接貼り付けます。再フォーマット不要。
デザインシステム構築、バンドルサイズ最適化、完成されたアイコンの引き渡し — SVGからReact変換ツールがあなたのワークフローをカバーします。
生SVGを左に貼り付けると、Reactコンポーネントがリアルタイムで右に表示されます。SVGからReact変換はブラウザ内の純粋なASTパスとして実行 — 待機なし、サーバーなし、レート制限なし。

1回のトグルでSVGからReact出力がJSXからTSXに切り替わり、interface IconProps extends React.SVGProps<SVGSVGElement>が自動生成されます。すべてのCSSクラス、ariaラベル、イベントハンドラが完全に型付けされます。

コンバータはSVGからReact変換の前にSVGO圧縮を実行 — Figmaメタデータを除去し、冗長なパスをマージし、ファイルサイズを最大60%削減します。Tailwindモードがfillのハードコードされた色をcurrentColorに置き換えます。

SVGをReactコンポーネントに変換すること、TypeScript props、SVG最適化に関するよくある質問。
SVGからReact変換とは、Figma、Sketch、またはアイコンライブラリからエクスポートされた生のSVGファイルを取得し、再利用可能なReact関数コンポーネントに変換することです。SVGマークアップがJSXになり、ハイフン付き属性がcamelCaseになり、コンポーネントがclassName、width、aria-labelなどのpropsを受け取れるようになります。
SVGをReactコンポーネントとしてインラインにすると、CSSでfillとstrokeを制御し、Framer Motionで個々のパスをアニメーションし、アクセシビリティのためのARIAラベルを適用し、ビルド時に未使用アイコンをツリーシェイクできます。<img>タグはSVGを不透明な画像として扱います。
はい。TypeScriptスイッチをオンにすると、SVGからReact出力が.jsx形式から.tsx形式に切り替わります。コンバータがファイルの先頭にinterface IconProps extends React.SVGProps<SVGSVGElement>を自動生成し、すべてのpropに完全な型カバレッジを提供します。
SVGからReact変換ツールは既知のすべてのハイフン付き属性を処理します:clip-rule → clipRule、fill-opacity → fillOpacity、stroke-linecap → strokeLinecap、stroke-linejoin → strokeLinejoin、stroke-width → strokeWidth、xlink:href → href、class → className。出力は常に有効なJSXです。
SVGからReact変換の前に、ツールはブラウザ内でJavaScriptのSVGOパスを実行します。デザインツールが生成した<title>、<desc>、<defs>、空の<g>要素、冗長なプレゼンテーション属性を除去します。
Tailwindモードが有効な場合、SVGからReact変換ツールはハードコードされたfill="#hex"とstroke="#hex"属性をfill="currentColor"とstroke="currentColor"に置き換え、ルート<svg>要素にclassName="fill-current"を追加します。アイコンが親要素のtext-colorクラスを継承します。
いいえ。SVGからReactへの変換全体がブラウザのJavaScriptエンジン内で行われます。SVGソースコードはデバイスから出ません。バックエンドなし、アップロードなし、ログなし、レート制限なし。
はい。非常に大きなSVG(数百のパス)は処理に少し時間がかかることがあります。SVGからReact変換ツールはマルチパスアイコン、クリップパス、グラデーション、マスク、ネストされたグループを処理します。