CSV→Markdownテーブル変換

CSVファイルをMarkdownのテーブル記法(`| col1 | col2 |`)に変換します。区切り文字・見出し行の有無・列の配置(左揃え・中央揃え・右揃え)を指定でき、変換結果はコピー・ダウンロードできます。ファイルの内容はブラウザ内で処理されサーバーには送信されません。

区切り文字
先頭行を見出しとする
列の配置


            
            コピーしました!
            
          

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

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

CSVの1行 name,age,city
変換後のMarkdown記法 | name | age | city |

先頭行を見出しとして使う場合、1行目が見出し行、2行目に配置を示す区切り行(---)が続き、3行目以降が各データ行になります。

CSV→Markdownテーブル変換とは

Markdownのテーブルはパイプとハイフンで罫線を表す記法です。列が増えると手打ちは骨が折れますが、元のデータがCSVなら機械的に組み立てられます。このツールはCSVを読み取り、見出し行・配置を示す区切り行・データ行からなるMarkdownの表を生成します。

セル内のパイプは自動でエスケープされ、引用符で囲まれたセル内の改行は半角スペースに置き換わります。Markdownの表は1行で完結する必要があるためです。列の配置は左・中央・右から選べ、区切り行にコロンが挿入されます。処理はブラウザ内で完結します。

Markdownテーブルの作り方

  1. CSVを貼り付ける 入力欄にCSVを貼り付けます。表計算ソフトからコピーした場合は区切り文字をタブに変更してください。
  2. 見出し行の扱いを決める 先頭行が項目名なら「先頭行を見出しとする」を有効にします。区切り行が自動で挿入されます。
  3. 列の配置を選ぶ 数値の列は右揃えにすると読みやすくなります。指定なしのままでもレンダラー側の既定で表示されます。
  4. コピーして貼り付ける 生成されたMarkdownをコピーし、READMEやIssue、技術記事の本文へ貼り付けます。

使いこなすためのヒント

  • セル内にパイプ(|)が含まれる場合は自動的に \| にエスケープされ、テーブルの列区切りと誤認識されるのを防ぎます。
  • 引用符で囲まれたセル内に改行が含まれる場合は半角スペースに置換されます。Markdownテーブルの1行は物理的に1行で完結する必要があるためです。
  • 列の配置を「左揃え」「中央揃え」「右揃え」から選ぶと、区切り行に `:---`・`:---:`・`---:` が挿入され、GitHub等のレンダラーで意図した配置で表示されます。
  • 姉妹ツールのCSV→JSON変換・CSV→SQL変換と合わせて、1つのCSVを用途に応じた3つの形式に変換できます。

CSV→Markdown変換の活用シーン

READMEに表を載せる

対応表や設定項目の一覧を表計算ソフトで整理してから変換すれば、体裁の崩れないMarkdownの表が得られます。

Issueやプルリクエストで比較を示す

検証結果や候補の比較をその場で表にできます。テキストなので差分としても読めます。

技術記事の下ごしらえ

計測データをそのまま記事の表にできます。数値列を右揃えにすると桁が揃って読みやすくなります。

議事録やドキュメントを整える

スプレッドシートで管理していた一覧を、Markdownで管理するドキュメントへ移す際の変換に使えます。

Markdownテーブルの用語

テーブル記法
パイプで区切ったセルを並べて表を表すMarkdownの書き方です。オリジナル仕様には無く、後発の拡張で追加されました。
区切り行
見出し行の直後に置くハイフンの行です。ここまでが見出しであることをパーサーへ伝えます。
配置指定
区切り行のハイフンにコロンを添えて列の揃え方を示す書き方です。左・中央・右を指定できます。
GFM
GitHub Flavored Markdown の略で、GitHubが定めた拡張仕様です。テーブル記法の事実上の標準になっています。
エスケープ
セル内のパイプを列区切りと誤認させないための処理です。バックスラッシュを前置します。

よくある質問

パイプ(|)で区切ったセルを1行に並べ、見出し行の直後に `---` を使った区切り行を挿入することで表として認識される記法です。GitHubのREADMEやQiita・Zenn等、多くのMarkdownレンダラーが対応しています。

区切り行のハイフンの前後にコロン(:)を付けることで指定します。`:---` は左揃え、`:---:` は中央揃え、`---:` は右揃えを意味し、本ツールでは配置を選ぶだけで自動的に挿入されます。

はい。ダブルクォートで囲まれたセル内のカンマは列区切りと誤認識されず、改行は半角スペースに変換されるため、Excel等からコピーした複雑なCSVもテーブルの体裁を崩さずに変換できます。

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

余談ですが ― なぜMarkdownテーブルはパイプとハイフンだけで書けるのか

MarkdownはJohn GruberとAaron Swartzが2004年に考案した軽量マークアップ言語で、「プレーンテキストのまま読んでも意味が通じること」を設計思想の核に据えています。テーブル記法もその例外ではなく、パイプとハイフンだけで罫線を表現するため、HTMLの <table> タグのように開始・終了タグで囲む必要がなく、変換前のソースを見ただけで表の形がおおよそ想像できます。

Markdownのテーブル記法はもともとJohn Gruber自身が定めたオリジナル仕様には含まれておらず、後発のPHP Markdown ExtraやGitHub Flavored Markdown(GFM)が独自に追加した拡張機能です。そのため実装によって細かな挙動(列数が揃っていない場合の扱いなど)が微妙に異なることがあり、GitHub・GitLab・Qiita等の主要なプラットフォームはおおむねGFMに準拠しています。

表計算ソフトやデータベースの結果をそのままドキュメントに貼り付けたいという需要は、READMEやIssue・技術ブログの執筆時に頻繁に発生します。手作業でパイプと区切り線を打ち込むのは骨が折れるため、CSVからワンクリックで変換できるツールは、Markdownでドキュメントを書く開発者にとって定番の下ごしらえ作業になっています。