Table to Markdown
Paste rows from Excel or a CSV and get a properly aligned Markdown table for a README or a wiki.
Processed on your device — no upload
Copying cells out of Excel or Google Sheets puts tab-separated text on the clipboard, so pasting straight in works — the delimiter is detected rather than assumed.
How to use it
- Copy cells from a spreadsheet and paste them in.
- Choose the column alignment.
- Copy the Markdown table.
How it works
Copying cells from Excel or Google Sheets puts tab-separated text on your clipboard. The delimiter is detected rather than assumed, so pasting works directly — and a comma-separated file works just as well.
Columns are padded so the source lines up. A Markdown table renders identically whether the pipes align or not, but the source is read and edited by people. An unaligned table is unreadable in a pull request diff, which is precisely where these tables end up.
The alignment row — the second line of dashes — carries the column alignment through colons. ---: right-aligns, :---: centres. Right alignment for numeric columns is the one that visibly improves a rendered table, because the digits line up by place value.
A pipe character inside a cell is escaped, since an unescaped one ends the column early and shifts everything after it.
A worked example
You are documenting an API and have the endpoint list in a spreadsheet. Select the cells, copy, and paste here.
Press Load a sample to see the result: a table whose pipes line up in the source and which renders correctly in GitHub, GitLab, most wikis and any Markdown-based documentation system.
Switch alignment to right for a table of figures. In the rendered output the numbers align by place value, so 9 sits under the 9 of 1,900 rather than under the 1 — which is the difference between a table you can scan and one you have to read.
The compact option drops the padding. The rendered table is identical and the source is smaller, which is worth it for a generated file nobody will edit by hand and not worth it for documentation.
One thing Markdown tables cannot do: merged cells, multiple header rows, or a cell containing a line break. If your spreadsheet uses any of those, the table needs simplifying before it can be expressed in Markdown at all.
For a full document rather than a table, HTML to Markdown converts entire pages.
Questions
How do I turn an Excel paste into a pipe table?
Copy the cells and paste them here. Tab-separated data becomes the pipe table format used by GitHub, GitLab and most documentation tools.
Can I paste straight from Excel?
Yes. Copying cells puts tab-separated text on the clipboard, and the delimiter is detected automatically.
Is my data uploaded?
No. The conversion runs in your browser.
Does the padding change how the table renders?
No. It only makes the source readable, which matters when the table is reviewed in a pull request.
How do I right-align a column?
Choose right alignment — it puts a colon at the end of the dashes in the separator row. Worth doing for any column of numbers.
What happens to a pipe character in my data?
It is escaped as \|. An unescaped pipe would end the column early and shift every cell after it.
Can a cell contain a line break?
Not in a Markdown table. Line breaks are converted to spaces, since the format has no way to express them inside a cell.
Are merged cells supported?
No. Markdown tables are a strict grid, so a merged cell has to be flattened before it can be represented.
Where do these tables work?
GitHub, GitLab, most wikis and any GitHub Flavoured Markdown renderer. The original Markdown specification had no tables, so a very strict renderer may not support them.