Markdown Table Generator
Paste CSV or TSV and get a padded GitHub-Flavored Markdown table. RFC 4180 parsing, delimiter auto-detection, pipe escaping and column alignment control.
Paste delimited data — comma, semicolon or tab separated — and get back a GitHub-Flavored Markdown table you can drop straight into a README, a pull request description or an issue comment. The parser follows RFC 4180, so quoted fields, doubled quotes and even line breaks inside quotes survive the trip intact. Every column is padded to the same width, which keeps the raw Markdown legible long after it has been committed.
What is a Markdown table generator?
A Markdown table generator converts rows of delimited data into the pipe-and-dash syntax that GitHub-Flavored Markdown uses for tables. Writing that syntax by hand is tedious: every cell needs surrounding pipes, the second line has to be a separator row, and any pipe character inside your data breaks the layout. This tool handles the mechanical parts — parsing the delimiter, escaping conflicting characters, building the separator row and aligning the columns — so you only supply the data.
How the table generator works
The pasted text is parsed with an RFC 4180 reader rather than a naive split: a quoted field may contain the delimiter, a line break, or a doubled quote that means one literal quote. If you leave the delimiter on automatic, the first line is scanned for tabs, semicolons and commas and the most frequent one wins. Each cell is then escaped for Markdown — a raw pipe becomes \| and internal line breaks collapse to a space, because a GFM table row must live on one line. Finally every column is padded to the width of its widest cell, so the raw Markdown stays readable in a diff even though the rendered table is unaffected by padding.
Features
How to use the Markdown table generator
Paste or type your delimited data into the data field — one record per line, exported CSV and TSV both work.
Leave the delimiter on auto-detect, or pick comma, semicolon or tab explicitly if your first line is ambiguous.
Choose an alignment — left, center or right — to set the markers written into the separator row.
Keep the first-row-as-header option on when your first line contains column names, then copy the padded Markdown from the output.
Common mistakes
Examples
See also
- CSV to JSON — Need the same rows as structured data instead of a table? Convert them to JSON.
- Trim Whitespace — Stray leading spaces in the pasted rows will show up in every cell — strip them first.
FAQ
How does the delimiter auto-detection work?
Auto-detect looks at the first line only and checks it for a tab, then a semicolon, then a comma. That covers most spreadsheet exports, but if your header row happens to contain a comma inside a quoted label while the file is really semicolon-separated, choose the delimiter explicitly instead.
What happens to a pipe character or a line break inside a cell?
A pipe is rewritten as \| so it renders as a literal character instead of ending the cell. A newline inside a quoted field is parsed correctly as part of one cell, then flattened, because a Markdown table row must occupy a single line.
Does the alignment setting change my data?
No. Alignment only changes the separator row directly under the header: left writes ---, center writes :-:, and right writes --:. Your cell values are untouched; the markers are a rendering hint that Markdown viewers apply when they draw the table.
Are quoted fields and doubled quotes handled correctly?
Yes — the parser follows RFC 4180. A field wrapped in double quotes can contain the delimiter, and a doubled double quote ("") inside such a field is read as one literal quote character. That means a value like "a, b" stays a single cell rather than splitting into two.