T

Text Machine

強力なテキストツールを、ブラウザで

Markdown表ジェネレータ

貼り付けた行を、整列されたきれいなMarkdown表に変換します。CSVやTSV、パイプ区切りのデータを貼り付け、列の配置を選んでGitHub仕様のMarkdownをコピーするだけ。すべてブラウザ内で処理され、何もアップロードされません。

区切り文字

配置

最初の行が表のヘッダーになります。

データ
Markdown表

ここにMarkdown表が表示されます。

Markdown表ジェネレータ の使い方

  1. 1

    データを貼り付ける

    CSVやTSV、パイプ区切りのテキスト行を貼り付けます。最初の行が表のヘッダーになります。

  2. 2

    区切り文字を選ぶ

    自動のままにすればカンマ・タブ・パイプを自動で判別します。区切り文字を自分で指定することもできます。

  3. 3

    配置を指定する

    各列を左・中央・右に揃えます。選んだ配置は表の中に書き込まれるため、GitHubでもほかのMarkdownビューアーでも同じように表示されます。

  4. 4

    Markdownをコピーする

    完成した表をコピーして、READMEやIssueなど、あらゆるMarkdown文書にそのまま貼り付けられます。

Markdown 表を使いこなす

Markdown 表とは本当は何か

Markdown の表は、もともとの Markdown 仕様の一部ではありません。これは GitHub Flavored Markdown、すなわち GitHub によって広まり、いまでは開発者が文章を書くほぼあらゆる場所で対応している方言に由来します。その構文はわざとプレーンテキストになっています。列はパイプ文字で区切られ、ヘッダー行が一番上に置かれ、2 行目のダッシュの行がヘッダーと本文を分けます。ただのテキストなので、Markdown の表は生のままでも読みやすく、HTML の表では決してかなわない形で、コピー&ペースト、バージョン管理の差分、メールを生き延びます。

このツールは、そうしたパイプを揃える面倒を肩代わりします。普通の行を貼り付けると、列を判別し、ヘッダー、区切りの行、そしてすべてのセルが収まった、正しく整った表を書き出します。

構文の構造

最小限の表は 3 行のように見えます。1 行目はヘッダーをパイプで区切って並べます。たとえば Name の後にパイプ、続けて Role です。2 行目は区切りです。列ごとに 1 組のダッシュを置きます。たとえばダッシュ 3 つ、パイプ、ダッシュ 3 つです。それ以降のすべての行は、同じパイプのパターンを使ったデータ行です。各行の先頭と末尾の外側のパイプは GFM では任意ですが、入れておくと生のテキストが読みやすくなり、このジェネレーターはそれを生成します。

区切りの行は二役を果たします。上の行がヘッダーであることを示すと同時に、コロンの置き方を通じて、各列がどう揃えられるかを宣言します。だからこそ Markdown の表は、そもそも表として表示されるために、少なくともヘッダーと区切りの行が必ず必要なのです。

列の配置を設定する

配置はすべて区切りの行のダッシュの中に存在し、コロンで制御されます。ダッシュの左にコロンを置くと列が左揃えに、両側に置くと中央揃えに、右に置くと右揃えになります。つまり、中央揃えの列はコロン、いくつかのダッシュ、そしてコロンと書き、右揃えの列はコロンで終わります。右揃えは数値の列で慣習的に選ばれる形で、桁が位取りごとに揃うようにします。

このツールで左揃え・中央揃え・右揃えを選ぶと、それらのコロンの記号が表全体に書き込まれます。これにより、配置は読み手の設定に左右されることなく、GitHub でも、ドキュメント生成ツールでも、ほかのあらゆる GFM ビューアーでも同じように表示されます。

実例で見る

カンマ区切りの 3 行を貼り付けます。一番上に Name, Role, City、続けて Ada Lovelace, Engineer, London と Grace Hopper, Admiral, New York です。中央揃えを選んだ状態だと、ツールは 3 つの見出しのヘッダー行、各列のダッシュがコロンで囲まれた区切りの行、そして 2 つのデータ行を出力します。GitHub の README に貼り付ければ、値が中央に揃ったきちんとした 3 列の表として表示され、手作業でパイプを数える必要はありません。

パイプのエスケープとその他の注意点

パイプは列の区切りなので、セルの中のリテラルなパイプは、通常そのセルを 2 つに分割して表を壊してしまいます。このツールは、データ中のパイプをすべて、バックスラッシュに続けてパイプと書くことで自動的にエスケープするので、OR 記号を含む論理式のような値も 1 つのセルに収まり、意図したとおりに表示されます。

ほかに 2 つ知っておくべきことがあります。Markdown の表は、Enter キーを使ってセル内に強制的な改行を含めることはできません。セル内に改行が必要なら、GFM はインライン HTML を許可しているので、明示的に br タグを挿入することになります。そして、すべての行はヘッダーと同じ数の列を持つべきです。行に余分なセルがあると、ほとんどのレンダラーで無視され、足りないセルは空として表示されるので、予測どおりの結果を得るには行を長方形に保ってください。

区切り文字と引用符付きの値

実際のデータは、いつもカンマ区切りで届くとは限りません。区切り文字を自動のままにしておくと、ツールは行がカンマ・タブ・パイプのどれを使っているかを判別します。つまり、スプレッドシートからそのままコピーしたブロック(タブ区切り)も、CSV の書き出し(カンマ区切り)も、どちらも設定なしで変換できます。自動判別が誤って推測しそうなとき、たとえば正当に多くのカンマを含むデータの場合は、特定の区切り文字を強制することもできます。

引用符付きの CSV の値も正しく扱われます。ダブルクォート内のカンマは値の一部として扱われるので、姓を先に書いて引用符で囲んだエントリのようなフィールドも、2 つの列に割れることなく 1 つのセルに収まります。これは重要です。スプレッドシートの書き出しは、区切り文字そのものを含む値を日常的に引用符で囲むからです。

Markdown 表が機能する場所と、しない場所

Markdown の表は、開発や執筆の文脈で真価を発揮します。GitHub や GitLab の README、Issue、プルリクエスト、静的サイトやドキュメントの生成ツール、多くの Wiki やメモアプリ、Slack や Discord のような Markdown 対応のフィールドを持つチャットツール、そして Reddit のコメントなどです。GFM が対応している場所ならどこでも、貼り付けた表はそのまま機能し、ソースの形でも読みやすいままです。

ただし、万能ではありません。GFM 拡張のないプレーンな Markdown は表を理解せず、一部の軽量なレンダラーはそれを無視します。その場合は生のパイプがそのまま見えてしまいます。Markdown の表には、細かなスタイル制御、セルの結合、入れ子の構造もありません。精密な書式、列の結合、リッチなスタイルが必要なときは HTML の表のほうが良い選択です。きれいで、バージョン管理でき、人間が読める表が欲しいときは Markdown が勝ります。

即座に、そしてプライベートに生成

表は貼り付けた瞬間にブラウザ内で組み立てられ、サーバーには何もアップロードされないので、プライベートな、あるいは独自のデータでも安全です。出力はプレーンな GFM テキストなので、それを読み、セルを手で微調整し、エディターを経由して往復することなく、あらゆる Markdown 文書に組み込めます。

よくある質問

Markdown表はどうやって作りますか?
各値をカンマ・タブ・パイプで区切って行を貼り付けます。最初の行がヘッダーになり、整列されたMarkdown表がすぐ下に表示されます。
どの区切り文字が使えますか?
カンマ・タブ・パイプのいずれも使えます。自動モードがデータで使われている区切り文字を判別するため、タブを含むスプレッドシートのコピーでも、カンマで書き出したCSVでも、設定なしで変換できます。
列の配置はどのように設定されますか?
Markdownでは、ヘッダー下のダッシュの行で、コロンを左・両側・右に置いて配置を示します。このツールは左・中央・右を選ぶと、その記号を代わりに書き込みます。
セルにパイプ文字が含まれる場合はどうなりますか?
セル内のパイプは自動的にエスケープされ、列を分割せずにテキストとして表示されるため、表はそのまま保たれます。
引用符付きのCSV値にも対応していますか?
はい。ダブルクォート内のカンマは値の一部として扱われるため、"山田, 太郎" のように引用符で囲まれた名前が2つのセルに分かれず、1つのセルにそのまま収まります。

関連ツール

こちらの便利なツールもどうぞ

Unixタイムスタンプ変換

JSON ↔ CSV 変換

CSVをJSONに変換

JSON ↔ YAML 変換

テキスト ↔ バイナリ変換

テキスト ↔ 16進数変換