HTML → JSX 変換

HTML 断片を React 属性名とインラインスタイルオブジェクトを持つ JSX に変換します。

フロントエンドとデザイン
ワークスペースを準備中…

入力

ワークスペースを準備中…

出力
結果はここに表示されます。

使い方

  1. HTML 断片を貼り付けるか、UTF-8 ファイルまたはサンプルを開きます。
  2. インデントを選び、「JSX に変換」を実行します。
  3. 生成したマークアップを確認し、コピーまたはダウンロードします。

HTML マークアップを React に移す

テンプレートからコピーした HTML は、JSX に入れる前に修正が必要な場合があります。代表的な違いは className、htmlFor、自己終了タグ、インラインスタイルの形式です。

変換するのはマークアップ構造です。コンポーネントの状態、イベントコールバック、アプリのロジックは、生成した JSX を使う場所で実装してください。

属性とスタイルの変換

HTML 属性を className、htmlFor などの React 形式に対応付けます。一般的な SVG 属性も React の大文字・小文字に合わせます。

インライン CSS は style オブジェクトにし、結果を JSX として整形します。文字列は必要に応じてエスケープし、JavaScript 式としては扱いません。

例
入力
<label class="field" for="email">Email<input id="email"></label>
結果
<label className="field" htmlFor="email">Email<input id="email" /></label>

属性変換を省略して示した例です。完全な出力は整形され、Fragment ラッパーを含みます。

構造と動作

HTML 断片を解析してから変換します。出力には Fragment ラッパーと、適切な箇所の自己終了構文を使います。

script 要素とインラインイベント属性は削除します。その動作を React コールバックに変換するわけではなく、残ったすべての URL やスタイルがアプリに適切だと保証するものでもありません。

結果を組み込む

JSX をコンポーネントの render や return 式にコピーします。動作は手動でつなぎ直してください。style オブジェクトで完全に表せない重複フォールバック宣言や !important なども確認が必要です。

処理の制限

テキスト入力は最大 1 MiB。CSS と HTML の変換は Worker 内で実行し、制限時間は 30 秒です。色のツールは sRGB を使用します。生成したスタイルはプレビューのため、実際のレイアウトでテストしてください。

?

よくある質問

完全な React コンポーネントを作りますか?

いいえ。出力は JSX マークアップです。コンポーネント本体、import、データ、動作はプロジェクトで追加してください。

script や onclick はどうなりますか?

script 要素とインラインイベント属性を除去します。実行したり React イベントハンドラーに書き換えたりはしません。

本文の波括弧が文字のままなのは?

入力は HTML として解析します。波括弧は JSX 用にエスケープし、評価対象の式にはしません。

インラインスタイルは完全に変換できますか?

一般的な宣言は React のスタイルプロパティになります。ただし重複フォールバックや !important は、JavaScript の style オブジェクトでは正確に表せない場合があります。

SVG マークアップも変換できますか?

一般的な属性を React 名に変換します。ID、参照、アプリ固有の属性も含め、コンポーネントで結果をテストしてください。

次に使うツールを探す

言語

言語を切り替えますか?現在の作業内容が消去されます。先に必要な内容をコピーまたはダウンロードしてください。