✍️ テキスト・文章

Markdown表ジェネレーター

CSVやTSVを貼り付けると、1行目を見出しにしたMarkdownの表へ整形します。引用符で囲んだカンマ、セル内改行、縦棒のエスケープ、列数の不揃いも自動処理し、寄せ指定つきの区切り行を作ります。入力はブラウザ内だけで完結します。

例(クリックで試す)

CSV/TSVをMarkdownの表に整形する手順

CSV または TSV を貼り付けると、1行目を必ず見出しとして区切り行付きのMarkdown表に変換します。表計算ソフトからコピーしたタブ区切りも自動判定します。「列の寄せ」を選ぶと区切り行にコロンが付き、レンダリング時の文字寄せが変わります。入力するたびに再変換されるので、貼り付けたらそのままコピーできます。

各列はその列でいちばん長いセルの幅に合わせて空白で揃えられ(最低3文字)、区切り行の長さも同じ幅になります。そのままGitHubのIssueやREADMEに貼っても、ソースの状態で列の対応が目で追える形です。

具体例

  • name,role,score + Alice,Editor,95| name | role | score | + 区切り行 + データ行
  • 寄せ「中央」 → 区切り行が | :---: | :---: | :---: | になり、各列が中央寄せに
  • 寄せ「右寄せ」 → 区切り行が | ---: |(数値列の見やすさ向上)
  • セル内に a|ba\|b に自動エスケープして表が崩れない
  • 行ごとに列数が違うa,b1,2,3)→ 最大列数に合わせ、空セルで補完

区切り文字の判定ルール

判定は引用符の外にタブがあるかだけを見ます。1つでも見つかればTSV、なければCSV(カンマ区切り)として解析します。引用符の内側のタブは数えないので、"a\tb",c のようなデータをTSVと誤判定して1列に潰すことはありません。

逆に、カンマ区切りのデータにインデントなどでタブが混ざっていると全体がTSVとして扱われ、列がまとまってしまいます。表計算ソフトからコピーしたものはタブ区切りになるため、そのまま貼るのが確実です。セミコロン区切り(a;b;c)やパイプ区切りには対応していないので、事前にカンマかタブへ置換してください。

セルの中身がどう変換されるか

入力出力意味
x|yx\|y縦棒はエスケープするので表が割れない
引用符で囲んだセル内改行1行目<br>2行目Markdownの表は1セル1行なので、改行をbrタグに置き換えて1行に収める
"1,000"1,000引用符の中のカンマは区切りとして扱わない。囲みの引用符は外れる
""(二重の引用符)"CSVの慣例どおり引用符1つに戻す
空行行として出さないただし ,, のように区切りだけの行は「全セルが空のデータ行」として残る
行ごとに列数が違う最大列数に合わせて空セルで補うa,b1,2,3 が混在しても3列の表になる

brタグはGitHubのようにHTMLを許可する環境では改行として表示されますが、HTMLを無効にしている環境ではタグの文字がそのまま見えます。貼り付け先が分からないときは、セル内改行を含むデータは1行にまとめてから貼るほうが安全です。

寄せ指定と区切り行の対応

「列の寄せ」はすべての列に同じ設定を適用します。選択内容はこの端末のブラウザ内に記憶され、次回も維持されます。

設定区切り行の形向いている列
なし| --- |指定なし。表示側の既定(多くは左寄せ)に従う
左寄せ| :-- |名前・説明などのテキスト列
中央| :---: |記号や短い区分(○×、状態など)
右寄せ| --: |金額・件数などの数値列。桁が揃って比べやすくなる

列ごとに寄せを変えたい場合は、出力された区切り行だけを手で書き換えてください。たとえば | :-- | :-- | --: | にすれば、1〜2列目は左寄せ、3列目だけ右寄せになります。コロンの数と位置さえ合っていれば、ハイフンの本数は表示結果に影響しません。

桁揃えの空白は半角基準

列幅の計算は文字数で行うため、全角文字を含む列はソース上の見た目が揃いません(| 名前 | 役割 | のように、全角1文字を半角1文字ぶんとして数えます)。絵文字はさらに2文字ぶんとして数えられることがあります。これは生のMarkdownを見たときの整列だけの話で、レンダリング後の表は正しく揃います。日本語の表でソースの見た目も整えたい場合は、エディタのMarkdown整形機能に任せてください。

CSVとしての対応範囲

表計算ソフトからコピーした単純なCSV/TSVを素早くMarkdownへ移す用途です。区切り文字を含む引用セル、セル内改行、複数種類の区切りが混ざるデータを完全なCSV仕様として解析するものではありません。変換後に列ずれがないか必ず確認してください。

Markdownの表記対応も表示サービスごとに異なり、列幅やセル結合は指定できません。データ構造をJSONへ変えたい場合はCSV ⇄ JSON変換を使います。

変換後の確認手順

出力を利用先のMarkdownプレビューへ貼り、ヘッダ数と各行のセル数、縦棒を含むセル、空欄、URLを確認します。表計算シートの数式は計算式ではなく、コピー時に得られた表示文字列として扱われます。非常に横長な表はスマートフォンで読みにくいため、列を減らすか複数表へ分けます。本文も含めて確認するならMarkdownプレビューが使えます。

よくある質問

入力データはサーバーに送信されますか?
いいえ。変換はすべてブラウザ内で完結し、外部に送信・保存されません。
タブ区切り(TSV)にも対応していますか?
はい。カンマとタブを自動判定します。表計算ソフトからコピーしたTSVもそのまま貼り付けられます。
行ごとに列数が違うときは?
最も列が多い行に合わせ、足りないセルは空欄で補います。列数が違ってもエラーにならず整形できます。
セル内に縦棒(|)があると表は崩れますか?
崩れません。セル内の | は自動で \| にエスケープしてから出力します。
1行目を見出しにしたくないときは?
先頭行は必ず見出しとして扱われます。見出しの無いデータを貼るときは、事前に見出し行を1行足してください。見出しを空にしたい場合は、列数に合わせてカンマだけを並べた行(3列なら ,, )を先頭に置くと、空の見出し行になります。
セル内の改行はどうなりますか?
引用符で囲まれたセルの改行は br タグに置き換えて1行に収めます。Markdownの表は1セル1行だからです。GitHub のように HTML を許可する環境では改行として表示されますが、HTML を無効にしている環境ではタグの文字がそのまま見えます。
列ごとに違う寄せにできますか?
ツール側の指定はすべての列に同じ寄せを適用します。列ごとに変えたい場合は、出力された区切り行を手で書き換えてください。左・左・右にするなら :-- と :-- と --: を並べます。コロンの位置だけが効くので、ハイフンの本数は表示結果に影響しません。