About the Markdown Table Generator
Markdown tables are made of pipes and dashes, and typing them by hand is slow and easy to get wrong. This generator builds one from cells copied from a spreadsheet or from a CSV. The first row becomes the header, a separator row of dashes is added, and each column can be aligned left, centre or right. Numbers are aligned right automatically if you choose the automatic option. Pipes inside cells are escaped, line breaks become a br tag, and cells can be padded so the table also lines up in plain text. It works in your browser and nothing is uploaded.
Updated October 2026
How to use the Markdown Table Generator
- 1Copy cells from a spreadsheet, or paste a CSV, into the left box.
- 2Choose whether the first row is the header.
- 3Choose the column alignment.
- 4Choose whether to pad cells so columns line up in plain text.
- 5Copy the Markdown and paste it into your document.
Why use a generator
Typing a Markdown table means counting pipes, adding dashes under each heading and keeping the columns lined up. One missing pipe breaks the whole table. Copying the data from a spreadsheet and converting it is far quicker, and the result is always consistent.
The padded option makes the raw text look like a table too, which helps readers who see the source rather than the rendered page.
Alignment
Automatic alignment puts numbers and amounts on the right and text on the left, which is how most tables are read. Choose left, centre or right if you want every column the same. The alignment shows up in the separator row, so it travels with the table wherever you paste it.
- Left: :---
- Centre: :---:
- Right: ---:
Tips for clean tables
Keep the cells short; long text makes the table awkward to read in the source. Avoid empty header cells. Check the result in a preview before you commit it. For a plain text table that does not need Markdown, the ASCII Table Generator draws one with lines and corners.
Pasting into popular places
On GitHub, paste the table into an issue, a pull request or a README and use the preview tab to confirm that it renders. In Reddit, tables work in the Markdown editor but not always in the fancy pane editor. In Notion and Obsidian, pasting the Markdown text usually creates a real table straight away.
If a platform shows the pipes as text, switch the editor to Markdown mode, or check whether that platform supports tables at all. For a table in plain text, use the ASCII Table Generator, and if the data lives in a sheet, CSV Tools can prepare the columns. If you have tab columns, the Text Columns Formatter lines them up, and CSV Tools prepares the rows.
Features
- Accepts spreadsheet cells and CSV
- Left, centre, right or automatic alignment
- Optional padding for neat plain text
- Escapes pipes inside cells
- Line breaks in cells become br tags
- Private: nothing is uploaded
Frequently asked questions
How do I make a Markdown table from Excel?
Select the cells in Excel or Google Sheets, copy them and paste them into the left box. The Markdown table appears on the right. Copy it into your README, issue or note.
What does the second row of dashes do?
It separates the header from the body and sets the alignment: a colon on the left means left aligned, on both sides means centred, on the right means right aligned. The tool writes it for you.
Where do Markdown tables work?
GitHub, GitLab, Reddit, Notion, Obsidian, Jira, Discord in some contexts and most Markdown editors support them. Some simple Markdown flavours do not, so check the place you are using.
What if a cell contains a pipe character?
The pipe would end the cell, so the tool writes it with a backslash in front. Line breaks in a cell are converted to a br tag, because a Markdown table row must stay on one line.
Can I make a table without a header?
Markdown tables always need a header row. If your data has none, untick the header option and an empty header is written for you.
Is my data uploaded?
No. The table is built in your browser and your cells stay on your device.