Markdown Table Editor

Paste a table from Excel, a CSV, or HTML and get a tidy, aligned Markdown table back.

Table
Row
1
2
3

3 columns, 3 rows

Pasting more than one cell into any cell of the grid fills the whole table too.

Spacing
Output
|     |     |     |
| --- | --- | --- |
|     |     |     |
|     |     |     |
|     |     |     |

Related tools

What it does

Turns whatever table you have into a clean GitHub Flavored Markdown table. It reads Markdown tables (with or without outer pipes, with alignment colons, with escaped pipes and inline code), rows copied straight out of Excel or Google Sheets, CSV text with quoted commas, HTML tables, and even columns separated by runs of spaces. The output is padded so every column lines up in a monospace editor, with wide characters such as Chinese, Japanese, and Korean counted as two columns so the alignment holds. The same table can also come back out as CSV, TSV, HTML, JSON records, an ASCII box table, or a LaTeX tabular.

How to use it

Paste your table into the input box. The format is detected from the content, so a spreadsheet paste, a comma separated file, and an existing Markdown table all work with no setting to change. Pick an output format, choose whether to force a column alignment, and copy the result. Turn off padding, or turn on compact mode, when you want the shortest possible Markdown instead of the aligned kind.

Why this one

Most Markdown table generators make you retype your data into a grid one cell at a time, and the ones that accept a paste usually send it to a server first. This one detects the format for you, and your files and inputs never leave your device. Rows with a missing cell are filled in rather than rejected, pipes inside your text are escaped for you instead of breaking the table, and there is no row limit, no sign-up, and no ad wall.

FAQ
Can I paste a table straight from Excel or Google Sheets?
Yes. Spreadsheets copy rows to the clipboard as tab separated text, and that is detected automatically, including cells that were quoted because they contain a comma or a line break. Paste and the Markdown table appears.
Why do pipe characters break my table?
In Markdown a pipe ends a cell, so a pipe inside your text splits the row. This tool escapes every pipe it writes as a backslash followed by a pipe, which renders as a normal pipe character, and when reading a table back it understands both escaped pipes and pipes inside inline code spans.
Does it handle merged cells?
No, and nothing can. GitHub Flavored Markdown has no syntax for colspan or rowspan, so a merged cell in a pasted HTML table comes out as a single ordinary cell and the rest of the row is filled with empty cells. Keep merged cells in HTML if you need them.

Keyboard shortcuts: press ? anywhere on this page to see them.