โ† All converters

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.

CSVTSVPapaParseGFM tableUTF-8Auto-detect
Alignment

Benefits

๐Ÿ”
Auto-detect delimiter

Automatically detects delimiter: comma (,), tab, semicolon (;), pipe (|). No manual config needed.

๐ŸŒ
Unicode support

UTF-8 with/without BOM. CSVs from Excel localised with semicolon (European default) all work.

โšก
Instant

PapaParse handles 100k rows in under a second. Markdown table renders immediately in the textarea.

How to use

  1. 1Drop a .csv/.tsv file or paste content directly into the input box.
  2. 2Auto-detect the delimiter and header row.
  3. 3GFM table appears with proper alignment.
  4. 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

Feed Kaggle datasets

Small Kaggle CSVs โ†’ MD โ†’ paste into Claude/ChatGPT for EDA or feature engineering ideas.

Export from CRM/tools

CSV export from HubSpot, Notion DB, Airtable โ†’ MD โ†’ AI writes summary reports.

Bank statements / receipts

Bank CSV โ†’ MD โ†’ Claude analyses spending by category.

Survey responses

Google Forms CSV โ†’ MD โ†’ AI synthesises feedback, finds themes.

Database query results

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.