公開日 2026-08-25 · 執筆 MarkupGen チーム
Figma to HTML vs React vs Tailwind:どれを選ぶべきか

MarkupGenは同じFigmaデザインを複数の形式で書き出せますが、「HTML」「React」「Tailwind」はその中でも最もよく聞かれる3つの名前です。ただしこれらは1つの問いに対する3つの競合する答えではなく、2つの異なる問いに答えるものです。
- 出力はどんなマークアップにすべきか? 静的HTMLか、Reactコンポーネントか?
- どうスタイリングすべきか? Tailwindか、それ以外(Vanilla CSS、Bootstrap、Bulma、Materialize、Pico、CSS Modules)か?
Tailwindはスタイリングの手法であり、HTMLやReactの競合ではありません——Tailwindのクラスは静的HTML出力にもReactコンポーネントにも組み合わせられます。このガイドでは、どちらの言葉が耳慣れているかではなく、実際のニーズに基づいて選べるよう、各選択肢が本当に合う場面を説明します。
Figma to HTML/CSS——静的サイトと、アプリレベルのインタラクティブ性が不要なページ向け
デザインが大きなアプリケーションの一部ではなく完成した1つのページである場合——マーケティングサイト、ランディングページ、ドキュメントページ、メールに近いマイクロサイトなど——MarkupGenのFigma to HTML/CSSコンバーターが正しいデフォルトの選択肢です。
よく合う場面:
- ランディングページやキャンペーンページ(マーケティングチーム向けMarkupGenを参照)
- 静的またはほぼ静的なウェブサイト——ポートフォリオ、パンフレット型サイト、1ページ完結の製品ページ
- ビルドステップやフレームワークへの依存なしに、出力をそのままデプロイしたいプロジェクト
- 専任のフロントエンドエンジニアはいないが、本番運用可能なマークアップが必要なチーム
誇張のない、実際の制約:
- 出力は静的な構造とスタイルです——フォームのバリデーションロジック、クライアント側のstate、データ取得など本当にインタラクティブな部分は、あとで自分で組み込む必要があります
- そのページが実際にはより大きな製品の中の1画面に過ぎない場合、後からアプリフレームワークに手作業で統合し直すのは、最初からReact出力で始めるより手間がかかります
完全なステップバイステップガイドはFigmaデザインをクリーンなHTML&CSSに変換する方法を参照してください。
Figma to React——製品UI、SaaSアプリケーション、既存コードベース向け
デザインが独立したページではなくより大きなアプリケーションの一部である場合——ダッシュボード画面、設定パネル、再利用可能なカードコンポーネントなど、state、props、既存のルーターの中で動作する必要があるもの——MarkupGenのFigma to Reactコンバーターが理にかなっています。
よく合う場面:
- SaaS製品UIと社内ツール——画面がより大きなアプリの一部であるあらゆる場所
- デザインシステムにおいて、コンポーネントを複数の画面で再利用する必要がある場合
- 既存のReactコードベースを持ち、新しい画面を直接組み込みたいチーム(フロントエンド開発者向けMarkupGenを参照)
- タブ、モーダル、条件付きステートなど、デザインがすでにインタラクティブ/動的な挙動を示唆しており、最初からコンポーネントとして構築する方が容易なケース
誇張のない、実際の制約: 生成されたコンポーネントは構造とスタイルを扱いますが、実際のprops、APIデータ、アプリケーションのstateへの接続は依然としてあなたの作業です。MarkupGenはデザインの実際の構造からコンポーネントを構築するのであって、あなたのアプリのstateがどんな形であるべきかを推測しているわけではありません。何が自動化され、何を手作業で行う必要があるかの完全な内訳はFigma to React:開発者のための実践ワークフローを参照してください。
Tailwindが実際どこに当てはまるのか
TailwindはHTMLやReactと並ぶ3つ目の出力形式ではなく、MarkupGenがサポートする6つのCSSスタイリング手法の1つであり、周囲のマークアップが静的HTMLであれReactコンポーネントであれ、どちらにも適用できます。MarkupGenのFigma to Tailwindコンバーターは、一般的な推測ではなく、デザインの実際のトークン(間隔、色、タイプスケール)に一致したユーティリティクラスを生成します。
次の場合は特にTailwindを選んでください:
- チームがすでにTailwindで作業しており、生成される出力が2つ目のスタイリングシステムを持ち込むのではなく既存の慣習に合っていてほしい場合
- 本番CSSを軽量に保ちたい場合——TailwindのJITエンジンは実際に使われているユーティリティクラスだけを出力します
- 手動で名付けたセマンティッククラスよりも一貫した間隔/色のトークンが重要なデザインシステム内で構築している場合
次の場合は別のCSS手法を選んでください:
- フレームワークへの依存をゼロにし、完全な手動コントロールを求める場合——手で編集しやすいプレーンなスタイルシートにはFigma to CSSを参照
- チームが他の理由からすでにBootstrap、Bulma、Materialize、Picoに標準化している場合(MarkupGenがサポートする6つのCSSフレームワークの完全比較を参照)
- すでにCSS Modulesやstyled-componentsを使っているコードベースにReactコンポーネントを書き出す場合
比較表
| Figma to HTML | Figma to React | Figma to Tailwind | |
|---|---|---|---|
| 答える問い | どんなマークアップか?(静的) | どんなマークアップか?(コンポーネント) | どうスタイリングするか? |
| 最適な用途 | ランディングページ、マーケティングサイト、静的/パンフレット型ページ | SaaS製品UI、ダッシュボード、再利用可能なコンポーネント、既存のReactアプリ | 名前付きクラスのスタイルシートではなくユーティリティクラスでスタイリングしたい上記いずれの場合も |
| そのままデプロイできるか | できる——ビルドステップ不要 | できない——Reactのビルド/バンドラーが必要 | 組み合わせるマークアップによる |
| インタラクティブ性/stateの扱い | 扱わない——自分で追加する | 構造は用意済み。実際のstate/props/データを接続するのはあなた | 該当なし(スタイリング層のみ) |
| 他の2つと組み合わせ可能か | Tailwindを含む6つのCSSフレームワークすべてと組み合わせ可能 | TailwindまたはCSS Modulesと組み合わせ可能 | HTMLまたはReact出力と組み合わせ可能 |
ユースケース別に決める
- ランディングページやキャンペーンページ → Figma to HTML、チームがユーティリティクラスを好むなら任意でTailwindでスタイリング
- SaaSアプリケーションの画面や製品UI → Figma to React
- 静的なマーケティングサイトやパンフレットサイト → Figma to HTML
- 既存のReactアプリ内の新しい画面 → Figma to React、そのコードベースがすでに使っているスタイリング手法と組み合わせる
- チームはTailwindのデザイントークンワークフローに標準化済みだが、出力形式はまだ決まっていない → 上記のマークアップの問いに基づいてHTMLかReactを選び、どちらの場合もスタイリングの答えとしてTailwindを選ぶ
- フレームワークがまだ確定していない、最初のバージョンを素早く作りたいスタートアップ → スタートアップ・創業者向けMarkupGenを参照——アプリフレームワークがまだ決まっていない場合、Figma to HTMLの方が通常より速い出発点になります
まとめ
まず「これはページ全体か、アプリの一部か?」と問いましょう——これがHTMLかReactかを決めます。次に、それとは独立して「ユーティリティクラスか、名前付きスタイルシートか?」と問いましょう——これがTailwind(またはMarkupGenの他の5つのCSSフレームワークのいずれか)が合うかどうかを決めます。これは1つの三択ではなく、2つの小さな選択であり、どちらの答えにたどり着いてもMarkupGenはその組み合わせをサポートします。
