Home › Generators & Text Tools › Markdown Table Generator
Markdown Table Generator
Build a markdown table without counting pipes and dashes by hand. Type your headers and cell contents, set the alignment for each column, and the clean markdown appears below — ready to copy into GitHub, Notion, or your blog.
How it works
A markdown table is built from three parts. The first row is the header row: each column name sits between pipe characters, like | Product | Price | Stock |. The second row is the separator row, made of dashes between pipes. That row does two jobs — it tells the renderer that the text above it is a header, and it sets each column's alignment with colons. The rows after that are data rows, written in exactly the same shape as the header.
Alignment lives in the separator row. Three dashes with no colon, or a colon only on the left, means the column is left-aligned. A colon on both sides, like :---:, centers the column. A colon only on the right, like ---:, right-aligns it — the natural choice for prices and quantities. This generator writes that separator row for you: pick Left, Center, or Right for each column and the colons land in the right places.
Editing the table is simple. Click any cell in the grid and type; the markdown below updates as you type, so you always see the finished result. The row and column buttons add or remove one row or column at a time, and your existing entries are kept. The style control switches between padded output, which lines the pipes up in neat columns for easy reading, and compact output, which drops the extra spaces for a shorter file. Both render identically.
When the table is ready, press Copy markdown to put it on your clipboard, or Download .md to save it as a file you can open in any text editor. The output is plain text, so it works in GitHub README files and issues, GitLab, Notion, Obsidian, and documentation tools such as Docusaurus and MkDocs.
| :--- | ---: |
| Cell | Cell |
Worked example
Suppose you run a small shop and want a price list for your README file. Build a table with three columns — Product, Price, and Stock — and two rows of data, with the Price column right-aligned and the other two left-aligned. Fill the cells like this:
Step 1: Headers are Product, Price, and Stock.
Step 2: Row 1 is Apples, 2.50, 120.
Step 3: Row 2 is Bread, 3.00, 45.
Step 4: Set the Price column alignment to Right, and leave Product and Stock on Left.
With the padded style selected, the tool produces exactly this markdown:
| :------ | ----: | :---- |
| Apples | 2.50 | 120 |
| Bread | 3.00 | 45 |
Paste that into a GitHub README and it renders as a table with three columns, the prices lined up on the right, and the product names and stock counts on the left. Change any cell and the output updates at once, so you can keep the same price list current week after week.
FAQ
What is a markdown table?
A markdown table is a plain-text table written with pipes and dashes. The first row holds the column headers, the second row is made of dashes that set the alignment, and every row after that is a row of data, with each cell separated by a pipe character. Tools like GitHub, Notion, and many blogging platforms render it as a proper table.
How do I align a column left, center, or right?
Alignment is set in the separator row under the headers, using colons around the dashes. Dashes with no colon, or a colon only on the left, mean left alignment. A colon on both sides means center alignment, and a colon only on the right means right alignment. In this generator, pick the alignment for each column and the separator row is written for you.
Can I add or remove rows and columns after I start?
Yes. Use the Add row, Remove row, Add column, and Remove column buttons at any time. Adding a row or column appends an empty one you can fill in, and removing one deletes the last row or column. Your existing cell contents stay exactly where they are.
Where can I use a markdown table?
Markdown tables work in GitHub README files and issues, GitLab, Notion, Obsidian, many blogging platforms, and documentation tools such as Docusaurus and MkDocs. Paste the copied markdown into any of these and it renders as a formatted table. If a platform shows the raw pipes instead, it does not support markdown tables.
Can I put a pipe character inside a cell?
A plain pipe inside a cell breaks the table, because the pipe is what separates cells. If you need a pipe in your text, write it as the HTML code | instead, which renders as a pipe without splitting the cell. The same applies to line breaks: use the HTML tag <br> inside a cell instead of pressing Enter.