CSV to Markdown Table
Paste CSV (or TSV), get a clean GitHub-flavored Markdown table. Auto column alignment, header detection, custom delimiters. Free, in-browser.
What this does
Converts CSV (or TSV, or any delimiter-separated value file) into a GitHub-flavored Markdown table. The output:
- Uses pipe-delimited Markdown table syntax (
| a | b |). - Pads columns to equal width by default — readable as monospace source.
- Optionally aligns columns (left, right, center, or no alignment).
- Auto-detects header row, or treats all rows as data.
- Escapes pipe characters inside cells (
|→\|) so they don’t break the table. - Replaces internal newlines with spaces (Markdown tables can’t span lines per cell).
CSV parsing edge cases handled
The tool handles the kinds of CSV that real exports produce, not just naive comma-split:
- Quoted fields with embedded commas:
"Smith, Jane",30parses as two fields. - Escaped quotes:
"He said ""hello"""parses asHe said "hello". - Quoted fields with newlines:
"line one line two"becomesline one line twoin the output (Markdown tables can’t multi-line). - CRLF and LF line endings both work.
- Trailing empty lines are skipped.
- Inconsistent column counts: shorter rows are padded with empty cells.
Common use cases
- README data tables. Export a query result to CSV, paste in here, drop into your README. Looks like a real table on GitHub.
- Issue tracker tables. GitHub issues, GitLab MRs, Linear comments — paste a CSV and it renders as a real table.
- Notion / Obsidian. Both render Markdown tables. CSV from a database query → Markdown for note-taking.
- Pull request descriptions. Comparison tables of “before vs after” metrics, much cleaner than ASCII art.
- Documentation pipelines. Static site generators (Hugo, Jekyll, Docusaurus) all render Markdown tables. CSV is often the source format.
Markdown table syntax recap
| Column A | Column B |
|----------|----------|
| Cell 1 | Cell 2 |
The separator row controls alignment:
:---left-aligned (renderers default to left for ungated cells too)---:right-aligned (good for numbers):---:centered
GitHub, GitLab, Bitbucket, Notion, Obsidian, VS Code preview, MkDocs, and Hugo all support this same syntax.
What this does NOT do
- Does not handle nested CSV structures. If a cell contains another CSV-encoded list, it stays as a quoted string.
- Does not split on multiple delimiters at once. Pick one.
- Does not preserve cell HTML. If your CSV has
<a href="...">cells, they pass through as text. To render HTML inside a Markdown table, GitHub allows it but you have to write the HTML by hand. - Does not generate ASCII tables (boxed with
+and-). Different format. Use a different tool for box-drawn ASCII.
Privacy
Runs entirely in your browser.