CSV / TSV ↔ Markdown Table
Convert CSV, TSV, and Markdown tables — round trip in one tool
Paste delimited rows to get a GitHub-flavored pipe table, or paste a Markdown table to recover clean CSV. Handles quoted fields, escaped pipes, alignment rows, and tab data pasted straight from Excel or Google Sheets — all in your browser.
The first row becomes the header. Quoted fields ("…") and escaped quotes ("" → ") follow RFC 4180. Newlines inside cells are flattened so the pipe table stays on one line per row.
How to convert between CSV / TSV and Markdown tables
CSV / TSV → Markdown
- Paste comma- or tab-separated data into the left pane, or click Open CSV / TSV to load a file.
- Pick the delimiter — Comma for
.csv, Tab for.tsvor Excel / Sheets copy-paste. - Copy the Markdown table on the right, or download a
.mdfile.
The first row is used as the table header. Empty trailing rows are trimmed automatically.
Markdown → CSV / TSV
- Open the Markdown table → CSV / TSV tab.
- Paste a Markdown document that contains a pipe table (or open a
.mdfile). - Choose your output delimiter and copy or download
.csv/.tsv.
The tool extracts the first GFM pipe table found outside fenced code blocks. Alignment rows (:---:) are skipped during extraction.
Why round-trip CSV and Markdown?
- Spreadsheet → GitHub README. Product roadmaps, feature matrices, and pricing tiers all start life in Sheets or Excel. Converting once at the end saves manual reformatting.
- README → spreadsheet for editing. Once a table is in a repo, non-engineers prefer editing in Sheets. Pull the table out, edit, paste back in.
- Documentation pipelines. Static-site generators (Docusaurus, Nextra, Astro) accept GFM tables natively. CSV → Markdown is the cleanest bridge from a data file to docs.
- AI prompts. When you want an LLM to reason over tabular data, GFM tables are far more reliable than raw CSV — models parse the pipe structure consistently.
CSV escaping the tool handles
| Source | Becomes |
|---|---|
"a,b,c" | A single cell a,b,c |
"He said ""hi""" | A cell He said "hi" |
line1\nline2 in quotes | One cell with the newline preserved |
| Trailing empty rows | Stripped from output |
And on the Markdown side:
| In Markdown | After conversion |
|---|---|
cell with | pipe | `cell with |
Alignment row :---: | Skipped (not data) |
Padded cells | Trimmed |
When NOT to use this tool
- Multi-line cells in big data sets. Markdown tables don't natively support multi-paragraph cells. If your data has long prose, render it as a list or link out.
- Heavily nested data. JSON, hierarchies, and trees do not fit a flat table. Use
pre-formatted JSON instead. - Numerical formatting. Currency, dates, and locale-aware numbers don't survive a CSV round-trip cleanly. Format in the source (spreadsheet) before exporting.
Companion tools
- Markdown Table Generator — build a table visually with alignment buttons.
- Markdown Formatter — tidy up a table's spacing and pipes.
- GFM Compliance Checklist — verify the first pipe table parses cleanly.
Privacy & data
Both the CSV parser and the Markdown table extractor run entirely in your browser. No file uploads, no logging, no analytics on table contents. Convert sensitive customer or financial data without it ever leaving your machine.
Frequently asked questions
- Paste your CSV (or open a .csv file) on the left, keep the delimiter as Comma, and copy the GitHub-flavored Markdown table from the right. The first row of the CSV becomes the table header, and alignment-friendly dashes are inserted automatically.
- Yes. Switch the Input delimiter dropdown to Tab. If you open a .tsv file, the tool detects the extension and switches automatically. The output is the same GFM pipe table.
- Open the second tab and paste any Markdown document that contains at least one GFM pipe table. The tool extracts the first table outside fenced code blocks and emits RFC 4180–compliant CSV (or TSV, if you switch the output delimiter). Cells containing commas, quotes, or newlines are quoted and escaped automatically.
- Yes — copy a range from Excel or Google Sheets and paste it into the input box with the delimiter set to Tab. Spreadsheet apps copy as TSV by default, so the output table appears immediately.
- On the way to Markdown, raw pipes are escaped as `\|` so they don't break the table layout. Going back to CSV, the escape is removed and the cell is quoted if the delimiter would otherwise corrupt the row.
- There is no hard limit. Conversion is linear in document size and runs in your browser, so thousand-row tables work fine. Just keep in mind that very wide tables wrap awkwardly on mobile when rendered.