CSV / TSV to Markdown Table Converter
Convert CSV or TSV files to standard GitHub-flavoured Markdown tables. Auto-detects delimiter, full UTF-8 support including non-Latin scripts.
Benefits
Automatically detects delimiter: comma (,), tab, semicolon (;), pipe (|). No manual config needed.
UTF-8 with/without BOM. CSVs from Excel localised with semicolon (European default) all work.
PapaParse handles 100k rows in under a second. Markdown table renders immediately in the textarea.
How to use
- 1Drop a .csv/.tsv file or paste content directly into the input box.
- 2Auto-detect the delimiter and header row.
- 3GFM table appears with proper alignment.
- 4Copy or download .md, or 'Open in ChatGPT' for analysis.
What is CSV to Markdown?
CSV (Comma-Separated Values) is the most common text format for datasets โ Excel, Google Sheets, and database exports all support it. When fed directly into ChatGPT/Claude, AI understands it but with many columns the structure is hard to read; converting to GFM tables helps AI 'see' the table clearly and respond more accurately.
We use PapaParse โ the most popular CSV JavaScript library, supports streaming for large files, escapes quote/newline in cells, encoding detection. Output is a 2D array, which we format to GFM with the first row as header.
Use cases: data analysts converting Kaggle/government datasets to MD; salespeople converting CRM (HubSpot, Salesforce) exports for AI; devs pasting small CSVs to AI for quick analysis code.
- โDelimiter support: comma, semicolon, tab, pipe, custom
- โQuote escape: "value with, comma" parsed correctly
- โNewline within cell (multi-line value) supported
- โHeader row auto-detected (toggle off for headerless data)
- โColumn alignment: left/center/right (default left)
- โUTF-8 / UTF-8 BOM / Windows-1252 detection
When to use it
Small Kaggle CSVs โ MD โ paste into Claude/ChatGPT for EDA or feature engineering ideas.
CSV export from HubSpot, Notion DB, Airtable โ MD โ AI writes summary reports.
Bank CSV โ MD โ Claude analyses spending by category.
Google Forms CSV โ MD โ AI synthesises feedback, finds themes.
SQL query CSV โ MD โ AI explains patterns or writes visualisation code.
How it works
PapaParse is the strongest CSV library in the JS ecosystem with 12k+ stars, used by Mozilla, NASA, Tableau. Supports streaming (chunked parse) for very large files, smart header detection, type inference (string/number/date), and excellent performance via web worker.
Auto-detect uses heuristics: count occurrences of candidate delimiters (`,`, `;`, `\t`, `|`) on the first 5 rows, pick the most frequent and uniform. Algorithm is correct 99% of the time on real-world data from Excel/Google Sheets/database exports.
GFM table output has a proper alignment row `|---|---|---|`. Cells containing pipe `|` (a special character) are escaped as `\|` so the table structure isn't broken. Cells with newlines are joined with HTML `<br/>` โ Claude/ChatGPT understand it.
CSV โ Markdown FAQ
Can it handle huge files (1M+ rows)?
The browser slows on files >100 MB. Phase 2 will add streaming. For now, split the file or pre-aggregate with SQL/pandas.
Is TSV (tab-separated) supported?
Yes. Auto-detects tabs. Renaming the file to .tsv is also fine.
Excel-localised CSV with semicolon โ any issues?
No issues. Auto-detect picks up semicolon. Full UTF-8 support including diacritics.
How are empty cells handled in MD?
Empty cells stay empty โ render as blank cells. Toggle 'Replace empty with -' for visual clarity.
Are data types (number, date) preserved?
GFM tables are string-only. The original number/date format is preserved as text. AI recognises numbers in tables and computes normally.