Markdown Table Generator
Build GitHub-flavored markdown tables with column alignment and clean padded source.
Written by Golam Rabbani, Founder & Lead Engineer
How to use this markdown table generator
- Enter your column headers in the Headers field, separated by pipe (|) characters.
- In the Rows textarea, type one row per line with cells separated by pipes.
- Set per-column alignments in the Alignments field — comma-separated values of left, center, right, or none.
- Click Generate markdown to build the GitHub-flavored markdown table.
- Click Copy markdown and paste it into any markdown file, README, or issue.
About this markdown table generator
The markdown table generator outputs GitHub-flavored markdown (GFM) tables from a small structured input. GFM tables are widely supported across GitHub, GitLab, Bitbucket, Stack Overflow, Notion, Obsidian, and almost every static-site generator, so a single copy-paste works almost everywhere a markdown table is rendered.
You provide headers and rows as pipe-separated text — exactly the shape a GFM table needs — plus a comma-separated alignment string. The generator computes each column's width from the longest cell (or header) in that column and pads every cell with spaces so the raw markdown source itself is readable in a plain text editor, not just after rendering. Alignment is encoded in the separator row: ":---" for left, "---:" for right, ":---:" for center, "---" for none.
For example, headers "Name | Email | Role", three data rows, and alignment "left,left,center" produces a perfectly padded table where columns line up in the raw source and render with the centered Role column in any GFM-aware renderer. Everything runs in your browser; nothing is sent to a server.
FAQ
- What flavor of markdown does this produce?
- GitHub-flavored markdown (GFM) tables, which use pipes to separate cells and a separator row with dashes (and optional colons for alignment). GFM tables work on GitHub, GitLab, most static-site generators, Notion, Obsidian, and almost every modern markdown renderer.
- How does the alignment row work?
- The second row of the markdown contains dashes and optional colons that signal alignment. ":---" means left-aligned, "---:" means right, ":---:" means center, and "---" leaves it to the renderer's default.
- Why are the cells padded with spaces?
- Padding makes the raw markdown source readable in a plain editor — columns line up visually. The padding has no effect on how the table renders; it is purely a source-readability convenience.
- What if my data contains pipe characters?
- Pipes inside cell text break GFM tables. Either escape them as \| or replace them with another character before pasting. The generator does not auto-escape because escaping rules vary slightly between renderers.
- How many columns and rows can I have?
- There is no fixed limit. GFM renderers handle large tables, but readability suffers past about 8 columns or 30 rows — at that point an HTML table or a real database UI is usually a better fit.
- Does this work with classic markdown?
- Classic CommonMark does not include tables, so this output is GFM-specific. The vast majority of modern markdown renderers support GFM, so it works almost everywhere you would paste a table.