CSV to Markdown Table
Paste CSV or TSV data and instantly convert it into a clean Markdown table. Ideal for README files, documentation, GitHub comments, and changelogs.
The first row becomes the table header.
All processing happens locally in your browser โ nothing is stored or sent to any server.
How to Convert CSV to Markdown
- Paste your CSV or TSV into the left input box.
- The first row becomes the table header automatically.
- Review the generated Markdown output on the right.
- Click Copy and paste the result into your README, docs, or issue comment.
About Markdown Tables
Markdown tables (sometimes called GFM tables โ GitHub Flavored Markdown) are a compact, readable way to present structured data in README files, technical documentation, GitHub issues and pull requests, Notion pages, Obsidian notes, and most static site generators. They render as proper HTML tables but are still readable as plain text in their source form, which makes them easy to review in code diffs.
The Markdown table syntax is simple: a header row, a separator row of dashes, and data rows, all separated by pipe characters. But formatting them manually for any non-trivial dataset is tedious โ column widths must be consistent, special characters need escaping, and the separator row count must match. This tool handles all of that automatically: paste raw CSV or TSV, get a syntactically correct Markdown table back.
The converter accepts both comma-separated and tab-separated data, handles quoted values with embedded commas, normalizes column widths for visual readability in source form, and outputs Markdown that works in GitHub, GitLab, Notion, Bitbucket, and any other Markdown-aware tool. All processing happens locally in your browser โ useful when working with sensitive spreadsheet data that should not be sent to a third-party server.
Frequently Asked Questions
Does this work with TSV (tab-separated) data too? โผ
Yes. The tool auto-detects whether your data uses tabs or commas as separators. If your input contains tab characters between values, it is parsed as TSV; otherwise CSV. This means you can paste from any source without converting first.
Can I paste from Excel or Google Sheets? โผ
Yes. Spreadsheet applications copy data to the clipboard as TSV (tab-separated), which this tool supports natively. Just select cells in Excel/Sheets/Numbers, copy, and paste into the input field โ the table converts automatically.
What happens to uneven rows? โผ
Shorter rows are padded with empty cells so the generated Markdown table stays aligned. If row 1 has 5 columns and row 2 has only 3, row 2 will get two trailing empty cells. This keeps the Markdown table syntactically valid (which requires uniform column counts).
Does it support quoted CSV values? โผ
Yes. Standard CSV quoting is supported: values containing commas can be wrapped in double quotes ("Smith, John"), and embedded double quotes within a value are escaped by doubling ("She said ""hi""."). This handles the most common CSV edge cases.
Is my data uploaded? โผ
No. The CSV-to-Markdown conversion happens entirely in your browser using JavaScript. Your data โ even sensitive spreadsheet data โ never leaves your device.
How do I align columns left, right, or center? โผ
Markdown tables support column alignment using colons in the separator row: :--- (left), ---: (right), :---: (center). After generating the table, you can manually edit the separator row to set alignment for each column. The default is left-aligned.
Why does my Markdown table look broken in GitHub? โผ
Common causes: (1) the separator row is missing or has wrong column count, (2) pipe characters within cell values are not escaped (use \| or wrap in code), (3) blank lines inside the table break it into separate tables. This tool generates correct syntax automatically, so use the output as-is.
Can I convert a Markdown table back to CSV? โผ
Not directly with this tool โ it is one-way (CSV โ Markdown). For the reverse, you can typically copy a Markdown table from a rendered preview and paste into Excel/Sheets, which usually parses the pipe-separated structure correctly.