Skip to content

Markdown Table Generator

Turn CSV, TSV or spreadsheet data into a properly aligned Markdown table.

Converted live in your browser.

One row per line. Paste straight from a spreadsheet and tabs are detected automatically.

How do you make a table in Markdown?

Write a header row wrapped in pipe characters, then a separator row of dashes, then one line per data row. Colons in the separator set alignment — trailing for right, both ends for centre. Any pipe inside cell text must be escaped as \| or it breaks the row.

Understanding your result

Two details separate a table that works from one that quietly breaks. First, pipes inside your data must be escaped as backslash-pipe, or the renderer reads them as extra column separators and the row falls apart — that escaping is applied automatically here. Second, the separator row is mandatory: without it, Markdown treats the whole block as ordinary paragraph text. Cell padding is purely cosmetic and affects only how the source reads in an editor, never the rendered output, so leave it on when the Markdown will be maintained by hand and turn it off when you want the most compact source possible.

Formula and method

A Markdown table is a header row, a separator row of dashes that defines alignment, then one line per data row — every cell wrapped in pipe characters. Colons in the separator set alignment: trailing for right, both ends for centre.

Assumptions and limitations

Markdown tables are inherently limited: they cannot merge cells, nest tables or span rows, and every table needs a header row — one is generated for you if your data has none. Alignment applies to all columns at once rather than per column. Very wide tables are awkward in Markdown generally, and some renderers differ slightly in how they handle inline formatting inside cells.

Worked example

Three rows of framework data become a four-line Markdown table whose separator row reads | ---- | ----- | -------- |, rendering as a proper table on GitHub, GitLab and most static-site generators.

How to use this tool

  1. Paste your rows, one per line.
  2. Tick “no header row” if the first line is data rather than column names.
  3. Choose an alignment and whether to pad the cells.
  4. Copy the Markdown, or download it as a .md file.

Common mistakes to avoid

  • Leaving unescaped pipe characters inside cell text.
  • Omitting the separator row, so the table renders as plain text.
  • Forgetting a blank line before the table in some renderers.
  • Expecting merged or spanning cells, which Markdown cannot express.

About the Markdown Table Generator

The Markdown Table Generator converts delimited data into a correctly formatted Markdown table. It detects whether your data uses commas, semicolons or tabs, honours quoted fields, escapes any pipe characters that would otherwise break the table, and can pad the cells so the raw Markdown lines up neatly in a text editor.

Who should use this tool

Developers writing README files, documentation authors and anyone posting tables to GitHub or a wiki.

Benefits

  • Paste straight from a spreadsheet — tab delimiters are detected automatically.
  • Escapes pipe characters in your data instead of producing a broken table.
  • Handles quoted fields containing commas correctly.
  • Optional cell padding so the raw source is readable, plus column alignment.

Practical use cases

  • Adding a comparison table to a README.
  • Converting a spreadsheet range for documentation.
  • Formatting data for a GitHub issue or pull request.
  • Writing tables for a static-site blog post.

Explore all Developer Tools tools

Frequently asked questions

Can I paste directly from Excel or Google Sheets?

Yes. Copied spreadsheet cells arrive tab-separated, which is detected automatically, so you can paste a range straight in.

What happens to pipe characters in my data?

They are escaped as \| so the table still renders correctly. Left unescaped, they would be read as column separators and break the row.

Does padding change how the table renders?

No. It only affects how the raw Markdown looks in a text editor. The rendered output is identical either way.

Can I align columns individually?

Not here — alignment applies to all columns at once. Edit the colons in the separator row afterwards if you need per-column control.

Do Markdown tables work everywhere?

They work on GitHub, GitLab and most static-site generators, since tables come from the GitHub Flavored Markdown spec rather than original Markdown. A few strict renderers need a plugin.

Share this tool

Free to use — copy the link, share it anywhere, or add the tool to your own website.

Embed this tool on your site (free)

Copy this code and paste it into any web page — it stays free and always up to date: