CSV→HTMLテーブル変換

CSVファイルを <table><tr><td> 形式のHTMLスニペットに変換します。区切り文字・見出し行の有無・thead/tbodyの有無を指定でき、変換結果はその場でプレビューでき、コピー・ダウンロードもできます。ファイルの内容はブラウザ内で処理されサーバーには送信されません。

区切り文字
先頭行を見出しとする
thead/tbodyで囲む

プレビュー

HTMLコード


            
            コピーしました!
            
          

CSVを入力すると、ここにHTMLテーブルが表示されます。

CSVの行とHTMLテーブルの対応

CSVの1行 name,age,city
変換後のHTML記法 <tr><td>name</td><td>age</td><td>city</td></tr>

先頭行を見出しとして使う場合は <th> タグの行に、それ以降の各データ行は <td> タグの行に変換されます。

CSV→HTMLテーブル変換とは

HTMLで表を書くには、行ごとに <tr>、セルごとに <td> を並べる必要があり、手作業では手間がかかります。このツールはCSVを読み取り、<table> 形式のHTMLスニペットへ変換します。結果はその場でプレビューできるため、貼り付け先での見え方をコピー前に確認できます。

セル内の <>& は自動でHTMLエンティティへ変換されるため、記号を含むデータでも表示が崩れません。thead・tbodyで囲むかどうかも選べます。意味的には付けるほうが望ましいものの、HTMLメールなど解釈が不安定な環境では外した最小構成が安定します。

HTMLテーブルの作り方

  1. CSVを貼り付ける 入力欄にCSVを貼り付けます。表計算ソフトからコピーした場合は区切り文字をタブに変更してください。
  2. 見出し行の扱いを決める 「先頭行を見出しとする」を有効にすると、1行目が <th> タグで出力されます。
  3. thead/tbody の有無を選ぶ 通常は付けたままで構いません。HTMLメールなど表示が不安定な環境向けには外してください。
  4. プレビューで確認してコピーする 実際にレンダリングされた表を見て問題なければ、HTMLコードをコピーして貼り付けます。

使いこなすためのヒント

  • HTMLメールやMarkdownが使えない古いCMSに表を貼り付けたいときは、thead/tbodyを外した最小構成の出力が扱いやすくなります。
  • セル内の <>& は自動的にHTMLエンティティへエスケープされるため、変換後のコードをそのまま貼り付けても表示が崩れません。
  • プレビューは変換結果をそのままブラウザでレンダリングした表示なので、貼り付け先での見え方をコピー前に確認できます。
  • 姉妹ツールのCSV→Markdown変換・CSV→JSON変換と合わせて使えば、1つのCSVを用途別に3つの形式へ変換できます。

CSV→HTML変換の活用シーン

ブログやCMSに表を載せる

Markdownに対応していないCMSでも、HTML編集モードへ貼り付ければ表を掲載できます。

HTMLメールに表を入れる

メールはMarkdownを解釈しないため、表を入れるにはHTMLが必要です。thead/tbodyを外した最小構成が安定します。

実装前のモックを作る

画面設計の段階で、実データに近い表をすぐHTMLにできます。スタイル適用の確認にも使えます。

記号を含むデータを安全に載せる

不等号やアンパサンドを含む値も自動でエスケープされるため、貼り付け先でレイアウトが壊れません。

HTMLテーブルの用語

table 要素
表を表すHTMLタグです。行と列を持つ実データの表現に用いる、本来の用途では今も最適なタグです。
th と td
<th> は見出しセル、<td> はデータセルです。区別することで読み上げソフトが対応関係を伝えられます。
thead / tbody
見出し部分と本文部分を意味的に分けるタグです。長い表の印刷時に見出しを繰り返す挙動にも関わります。
HTMLエンティティ
記号を安全に表示するための書き方です。<&lt; のように置き換えられます。
テーブルレイアウト
表組みでページ全体の段組みを作る古い手法です。現在は明確なアンチパターンとされています。

よくある質問

見出し行と本文行を意味的に区別できるため、可能であれば付けることが推奨されます。ただしメール本文などthead/tbodyの解釈が不安定な環境では、外した最小構成のほうが安定して表示されることがあります。

はい。ダブルクォートで囲まれたセル内のカンマや改行も正しく解釈されるため、Excel等からコピーした複雑なCSVもテーブルの体裁を崩さずにHTMLへ変換できます。

はい。生成されるのは <table> タグを使った標準的なHTMLスニペットのため、WordPress等のHTML編集モードやHTMLメールの本文にそのまま貼り付けて利用できます。

いいえ。変換処理はすべてブラウザ内のJavaScriptで行われ、入力したCSVの内容がサーバーに送信されることはありません。
ツールくん

余談ですが ― <table> タグはなぜ今も生き続けているのか

1990年代後半のWeb黎明期には、レイアウト全体を <table> タグで組む「テーブルレイアウト」が主流だった時代がありました。CSSの表現力が乏しく、複数カラムの段組みを実現する手段が表組みしかなかったためで、当時のHTMLソースは本来の意味である「表形式データ」とは無関係な <table> だらけでした。

CSSが成熟しFlexbox・Gridが普及した現在では、レイアウト目的のテーブル使用は明確なアンチパターンとされています。しかし本来の用途である「行と列を持つ実際のデータ」を表現する場面では、<table> は今も最も適切かつアクセシビリティに優れたタグであり続けています。スクリーンリーダーは <th><td> の関係を読み上げに反映できるためです。

ブログ記事やメールマガジンにCSVの内容を貼り付けたいという需要は、HTMLメールがMarkdownを解釈できないことや、一部のCMSがMarkdownプラグインを持たないことから今も根強く存在します。表計算ソフトの結果をワンクリックでHTMLの表に変換できるツールは、こうした「素朴だが定番」の実務ニーズを支えています。