About the Markdown Table Generator
Writing a table by hand in Markdown means counting pipes and dashes until the columns line up. Paste the rows instead. Cells copied straight out of Excel, Google Sheets or Numbers arrive tab separated and are recognised on their own, as are comma and semicolon files and tables that are already written with pipes, so you can round trip an existing table to change its alignment.
The first row becomes the header unless you untick the box, in which case placeholder headings are added because the Markdown table syntax has no headerless form. Rows with missing cells are padded so the table stays rectangular, quoted CSV fields keep the commas inside them, a stray pipe in a cell is escaped as \| so it cannot split the column, and a separator row pasted along with the data is dropped rather than treated as content.
The alignment choice writes the colons in the divider row, which is what GitHub, GitLab and most static site generators read to justify a column. Column padding lines the source up so the raw Markdown is readable in a diff; turn it off for the most compact output, which some editors prefer. The rendered table looks identical either way. To go the other direction and pull a table out of a page, use HTML table to CSV, and to preview the finished document try the Markdown to HTML converter.
How to use
- Paste your rows, one per line, or copy a block of cells from a spreadsheet.
- Leave the delimiter on Detect unless the guess is wrong.
- Choose the column alignment and whether the source should be padded.
- Copy the Markdown into your README, issue or wiki page.
Common questions
- Can I paste cells straight from Excel?
- Yes. A copied selection is tab separated and the detector picks that up without any setting change.
- What happens to a pipe character inside a cell?
- It is escaped as \| so the cell keeps its text instead of splitting into two columns.
- Does the table have to have a header?
- Markdown requires one. If you untick the header option, placeholder headings named Column 1, Column 2 and so on are inserted.
- Why do the columns look uneven in the output?
- Padding uses character counts, so cells with wide characters such as CJK text can still look ragged in a monospace editor even though they render correctly.