Developer tools

Markdown table to CSV converter

Turn a Markdown (GitHub style) table, such as one an AI assistant wrote, into CSV for a spreadsheet.

Markdown table to CSV converter
Esc to restore

Your inputs

The first table in the text is converted. Up to 1 MB.

Results update as you type. Larger files run when you press Update result.

Your result

Your result will appear here.

More actions

Your inputs stay in this browser. Nothing is uploaded or saved.

A clear answer. Here’s how.

Finds the first heading row that is followed by a delimiter row of dashes (GitHub Flavored Markdown), splits each row on unescaped pipes, restores escaped pipes and turns <br> into a line break inside the cell. Rows with fewer cells are padded and extra cells are dropped, as GFM specifies. The result is quoted CSV that spreadsheets open correctly. With protection on, cells that start with =, +, - or @ get a leading apostrophe so a spreadsheet will not run them as formulas.

How this is checked

2 reference checks passed These 2 cases were run when this page was built, on 20 October 2026, and all reproduce within the stated tolerance. The same cases are part of the automated tests that run on every change to Toolmoz. Engine version 1.

See the checks and where each expected answer comes from
  1. Case 1

    Inputs
    Markdown containing a table | Name | Qty | Note | | :--- | ---: | --- | | Apple | 3 | red, sweet | | Pear | 10 | a\|b | Spreadsheet formulas yes
    Expected, and what Toolmoz gave
    text expected Name,Qty,Note Apple,3,"red, sweet" Pear,10,a|b, Toolmoz Name,Qty,Note Apple,3,"red, sweet" Pear,10,a|bRows expected 2, Toolmoz 2Columns expected 3, Toolmoz 3
    Where the expected answer comes from
    RFC 4180: a field with a comma is quoted; the escaped pipe is restored
    Allowed difference
    exact
  2. Case 2

    Inputs
    Markdown containing a table Here you go: Col A | Col B --- | --- 1 | 2 3 Done.Spreadsheet formulas no
    Expected, and what Toolmoz gave
    text expected Col A,Col B 1,2 3,, Toolmoz Col A,Col B 1,2 3,Rows expected 2, Toolmoz 2
    Where the expected answer comes from
    A table with no outer pipes inside other text; the short row is padded with an empty cell (GFM)
    Allowed difference
    exact

What this shows: the engine reproduces independently worked values for these cases. It does not prove every possible input is right. To test an answer you were given, see how to check a number; to see what is and is not checked across Toolmoz, see the accuracy ledger.

See a worked example

Worked example

A fixed demonstration, separate from the values you enter above.

Markdown containing a table
| Name | Qty | Note |
| :--- | ---: | --- |
| Apple | 3 | red, sweet |
| Pear | 10 | a\|b |
Spreadsheet formulas
Protect cells that could run as formulas

Example result

Example result
NameQtyNote
Apple3red, sweet
Pear10a|b

Only the first table in the text is converted; inline Markdown such as **bold** is kept as written, and <br> becomes a line break inside the cell. Cells that could run as spreadsheet formulas are protected.