About CSV to Markdown
Convert CSV (or TSV) to a GitHub Flavored Markdown table. Auto-detect delimiter, choose column alignment (left, center, right) per column, and quote-aware parsing handles fields containing commas or newlines. Output drops cleanly into a README, GitHub issue, or docs site.
Why this conversion is common
Half the time you find a CSV in a docs PR, the writer wanted a Markdown table but did not feel like hand-typing pipe characters. CSV → Markdown is one of those translations that takes 30 seconds in the right tool and a frustrating ten minutes in a text editor.
The tool also handles the awkward parts:
- Commas in fields — quoting handled per RFC 4180
- Newlines in fields — preserved as
<br>or escaped per setting - Pipes in fields —
\|escape so they do not terminate cells - Header row — auto-detected; toggle if your CSV has none
What you get
| Name | Role | Active |
| :---- | :------: | -----: |
| Ana | Designer | 2024 |
| Ben | Engineer | 2023 |
| Carla | Manager | 2025 |
Converting in Python, pandas, and pandoc
For a build step or notebook instead of the browser:
import pandas as pd
print(pd.read_csv("in.csv").to_markdown(index=False)) # needs `tabulate`
pandoc in.csv -f csv -t gfm -o out.md # pandoc
VS Code users can install a Markdown Table extension to format and realign tables inline, or the Excel to Markdown / CSV to Markdown commands for a paste-and-convert flow. This tool covers the same ground with no setup and per-column alignment control.
Common workflows
README docs. CSV from a spreadsheet → Markdown table → paste into README. The CSV serves as the editable source.
GitHub issue with a comparison. Compose a comparison in Sheets, export CSV, convert, paste. Faster than fighting Markdown table syntax.
Docs site. Most static site generators render GFM tables. Author CSVs in your repo, run the conversion in your build, embed.
Slack post. Slack does not render full Markdown tables, but converts CSVs to monospaced approximations that read fine in chat.
Frequently asked questions
Where does GFM render Markdown tables?
How is column alignment specified in Markdown?
:-- (left), :-: (center), --: (right). The tool emits these per your selection.What about commas inside fields?
" and embedded quotes are doubled (""). The parser handles this; the Markdown output uses \| escaping where needed.Handles big CSVs?
Pipe character in cells?
| in cell content are escaped to \| so they do not terminate the cell.Reverse direction?
How do I convert CSV to a Markdown table in Python or with pandoc?
pandas.read_csv("in.csv").to_markdown(index=False) (needs tabulate installed). pandoc: pandoc in.csv -f csv -t gfm -o out.md. Both produce GFM tables; this tool does the same in one paste with per-column alignment and no install.How do I convert a Markdown table back to CSV or Excel?
| and the --- separator row, and replace | with commas — or paste the Markdown into a script using a GFM parser. In VS Code the Markdown Table extensions can export to CSV, which Excel opens directly.Related tools
Last updated: 2026-07-04