CSV to Markdown Table
Paste any CSV or TSV and get a clean, properly aligned Markdown table you can drop into GitHub READMEs, Notion pages, Docusaurus docs, or any GFM-compatible viewer. The converter auto-detects the delimiter, handles quoted fields and escaped quotes per RFC 4180, lets you set per-column alignment, and pads columns so the source is readable when reviewed in a code review.
How to use the CSV to Markdown Table
Paste CSV (or TSV, or anything with a consistent delimiter). The auto-detect picks the most-frequent candidate from , \t ; |. The first row is treated as the header unless you uncheck the option — GFM requires a header, so without one the converter promotes col1, col2, … as headers.
Alignment adds the colon markers GFM uses (:---, :---:, ---:). Padding cells to the widest column makes the raw markdown readable in a diff view, but viewers render the same regardless. A live preview underneath shows the rendered table.
About CSV to Markdown Table
GitHub-Flavored Markdown introduced table syntax that’s now supported by virtually every modern documentation tool. Hand-writing tables is painful: every cell needs the right padding, headers need a separator row with the right number of dashes, and adding a column means re-indenting every existing line. Generating them from CSV solves all of that — you keep the data in a format that’s easy to maintain (a spreadsheet, a database export, a CSV file in the repo) and regenerate the table on demand.
The conversion respects RFC 4180 CSV escaping: fields with commas, newlines, or quotes get wrapped in double quotes; literal double quotes inside a field get doubled (""). On the Markdown side, pipe characters inside cells get escaped to \|, and newlines inside cells become spaces (GFM tables don’t support multi-line cells reliably). The result drops into any markdown renderer that supports GFM tables — GitHub, GitLab, Notion, Obsidian, MkDocs, Docusaurus, and most static-site generators.
Common use cases
- Project README tables — list features, supported platforms, or comparison matrices from a CSV you maintain in the repo.
- Release notes — dump a CSV from Jira / Linear and convert to a structured changelog table.
- Documentation comparison matrices — e.g. “which API version supports which feature.” Maintain in CSV; regenerate the table on every release.
- Quick spreadsheet sharing — paste a 100-row export into a GitHub issue or Slack message in seconds.
Frequently asked questions
Does the live preview match how GitHub renders?
What if my CSV has newlines inside quoted fields?
Why escape pipes?
| inside a cell would otherwise end the cell early. \| renders as a pipe character in every GFM-compatible viewer.