Markdown Table to CSV

Turn a Markdown table into CSV.

Input
MARKDOWN input
Output
Result

About this tool


This extracts a Markdown table into CSV so you can open it in a spreadsheet or feed it to a script. The header row becomes the CSV header, and the alignment separator row is discarded since it carries no data.

It is the quickest way to get numbers out of a README or a wiki page and into something that can calculate.

How to use it

  1. Paste or upload your markdownDrop a file onto the input pane, use the file picker, or paste the text directly.
  2. Adjust the options if neededThe defaults suit most input; open Options to change the behaviour.
  3. Convert to CSVPress Convert to CSV, or use Ctrl+Enter (Cmd+Enter on macOS).
  4. Copy or downloadCopy the result, or download it as a .csv file.

Worked examples


Each example below is executed against this tool by the test suite, so what you see is what the tool actually produces.

A table with a comma in a cell

Input

| Name | Note |
| --- | --- |
| Ada | London, UK |

Output

Name,Note
Ada,"London, UK"

The cell containing a comma is quoted so the column boundary survives.

What to watch for


The details that decide whether a conversion is correct, and where information can be lost without any error being raised.

The separator row is dropped
The row of dashes exists only to mark where the header ends and to carry alignment. It is structural rather than data, so it is not emitted as a CSV row.
Quoting is added where CSV needs it
A cell containing a comma, a double quote or a line break is wrapped in quotes, with embedded quotes doubled. This matters because Markdown cells frequently contain commas, which would otherwise split the column.
Escaped pipes are unescaped
A cell written with \| contains a literal pipe, and that is what appears in the CSV, the backslash was Markdown syntax, not content.
Inline formatting is kept as text
Markdown emphasis inside a cell is preserved literally, so **bold** stays as those characters. CSV has no formatting, and stripping the markers would silently alter the text.

Limitations


  • Requires a well-formed table with a separator row.
  • Inline Markdown formatting is preserved as literal characters.
  • Processing happens in your browser, so very large inputs are bounded by available memory. Files above roughly 10 MB are handled but will feel slower, and multi-hundred-megabyte files are better suited to a command-line tool.

Questions


Why is **bold** still in my output?
Markdown formatting is kept as literal text, since CSV has no formatting and removing the markers would change the content. Strip them afterwards if you want plain text.
Does the alignment row become a data row?
No. The row of dashes and colons is structural, it marks where the header ends and carries the column alignment, so it is discarded rather than converted. CSV has no concept of alignment, so that formatting information is simply lost.