Markdown Table Generator
Build a markdown table by typing into a grid instead of counting pipes and dashes by hand — paste from Excel and copy clean markdown out.
Paste from Excel, Google Sheets, or CSV
The first row is the table header. Click any cell to edit it. Enter moves to the next row.
Swipe the table sideways to reach the other columns.
Live Preview
Markdown Output
About this tool
Why hand-typing markdown tables is a bad use of your time
Markdown table syntax — pipes, dashes, and alignment colons that all have to line up correctly — is easily the fiddliest part of writing markdown by hand. Get a column count wrong or forget a pipe and the table silently renders broken in a README or a static site. This tool gives you a spreadsheet-style grid instead: type into cells like you would in Excel, set alignment per column from a dropdown, and get clean, valid GitHub-Flavored Markdown out the other end automatically.
How to use it
- Click any cell in the grid and start typing — the first row is always treated as the table header, matching how GFM tables work.
- Use Add Row / Add Column to grow the table, or Remove Row / Remove Column to shrink it.
- Pick left, center, or right alignment per column from the dropdown above each column — this controls the
:---:style separator row markdown uses for alignment. - Already have data in Excel, Google Sheets, or a CSV file? Copy the cells, paste them into the "Paste from Excel" box, and click Import — it detects tab-separated (spreadsheet) or comma-separated (CSV) data automatically and rebuilds the grid to match.
- Check the live preview to see exactly how the table will render, then copy the markdown output straight into your README, blog post, or docs page.
What makes a markdown table syntactically valid
A GitHub-Flavored Markdown table needs exactly three things: a header row, a separator row made of dashes (with optional colons for alignment), and one or more data rows — all using | to divide columns. Every row also needs the same number of columns as the header, which is exactly the kind of easy-to-miss detail that breaks when you're typing pipes by hand and this tool handles for you automatically.
Real-world use cases
- README files: Build a comparison table, a list of API parameters, or a changelog table for a GitHub repository.
- Documentation sites: Most static site generators (Jekyll, Hugo, Docusaurus, GitBook) render GFM tables out of the box.
- Notion, Obsidian, and other markdown-based notes apps: Paste the generated markdown directly into any editor that supports the standard table syntax.
- Pull request descriptions and issue templates: Quickly build a clean before/after or checklist-style table without leaving your browser.
Frequently asked questions
Does every markdown renderer support tables?
Tables are part of GitHub-Flavored Markdown (GFM), which is extremely widely supported (GitHub, GitLab, most static site generators, Notion, Obsidian), but they're technically an extension, not part of the original CommonMark spec — a small number of very minimal markdown parsers may not render them.
How do I align a column to the right or center?
Use the alignment dropdown above that column in the grid. Markdown encodes this in the separator row using colons: :--- for left, :---: for center, and ---: for right — this tool writes that row for you automatically based on your selection.
Can I paste data straight from Excel or Google Sheets?
Yes — select and copy your cells as normal, paste them into the import box, and click Import. Both apps copy data as tab-separated values, which this tool detects and parses into the grid automatically, preserving your row and column structure.
What happens if a cell contains a pipe character?
The generator automatically escapes any literal | character in a cell as \| so it doesn't get mistaken for a column divider and break the table structure.
