Data
Markdown Table to CSV Converter
Paste a Markdown table and get clean CSV you can open in any spreadsheet app.
Press ⌘ Enter to run
4 lines · 70 chars
Ready — press Run or ⌘ Enter
How this tool handles files
- Processing
- In your browser, on-device
- Storage
- Nothing stored
- Output
- A file you download
- Your responsibility
- Review before official use
- Runs in your browser. Your file is processed on your own device and, on this site, is not uploaded to our servers.
- Nothing is stored. Your file and its output are gone the moment you close or reload the page.
- Review sensitive files (bank, ID, medical) and check the output before sharing it.
Every tool on FormatOS runs in your browser. Read our Privacy Policy and File Handling Policy.
Common uses
- Extract Markdown tables for spreadsheets
- Reuse documentation tables in analytics
Limitations
- The separator (---) row is ignored automatically
Pulling a documentation table back into a spreadsheet
This converter takes a Markdown table -- the pipe-and-dash kind you find in a README, a GitHub issue, a wiki page, or notes written in an editor like Obsidian or VS Code -- and turns it into comma-separated values you can open in Excel, Google Sheets, Numbers, or LibreOffice Calc. It exists for the moment a table lives in prose but you need it as data: the figures are trapped in a Markdown file and a spreadsheet cannot read pipes.
Realistic fits are narrow and concrete. A developer lifts a config matrix or API parameter table out of project docs to sort or filter it. An analyst reuses a results table from a report in a quick calculation. A student or admin copies a small reference table from class notes or a wiki into a sheet. Because the output is plain CSV, it also slots cleanly into anything downstream that ingests CSV -- a database import, a charting step, or a zipped archive of source data.
It runs entirely in your browser. The Markdown you paste is parsed locally, nothing is uploaded to a server, and nothing is retained once you close the tab -- which makes it reasonable for internal tables or unreleased figures you would rather not hand to a third party.
Paste, convert, then copy or download
The flow is paste-driven: drop your Markdown table into the input, and the converter reads it line by line. It keeps only the lines that begin with a pipe character, automatically discards the separator row (the |---|--- divider, including alignment colons like :--: ), strips the outer pipes from each remaining row, and splits the rest into cells. You then copy the CSV or download it as a file.
Each cell is trimmed of surrounding spaces, so the visual padding authors add to align Markdown columns does not leak into your data. On the way out, fields are quoted only when they need to be -- when a value itself contains a comma, a line break, or a double quote -- and any embedded quotes are doubled, which is the standard CSV escaping that spreadsheets expect. The delimiter is a comma.
It is deliberately literal about what it does not do. It does not strip Markdown formatting inside cells, so **bold**, backticks, and [link](url) syntax pass through as written. It does not interpret alignment, merge cells, or infer data types, and it has no setting to change the delimiter to tab or semicolon. It converts the table structure, not the prose around it.
Where it can trip up
The most common surprise is an escaped pipe inside a cell. The parser splits every row on the pipe character with no un-escaping step, so a cell written as a \| b will break into two columns and shift everything after it. If your source uses pipes as content rather than as column borders, expect misaligned rows.
Two other pitfalls follow from how lines are selected. Any line that does not start with a pipe is silently ignored -- helpful for skipping surrounding text, but it also means a wrapped or malformed row can vanish without warning. And if you paste more than one table at once, every pipe line from all of them is treated as a single block, so tables with different column counts will produce a ragged CSV rather than separate clean ones. Convert one table at a time.
Finally, remember the formatting pass-through: if you want plain values, clean up Markdown markup such as bold, links, and inline code in your source before converting, because this tool will carry that markup straight into the cells.
Checking the CSV before you rely on it
Open the result in your spreadsheet and confirm the column count matches the original header row, then scan for any row that shifted -- the usual cause is a pipe inside a cell. Spot-check a value that contained a comma or a quote to confirm it landed in one cell and was quoted correctly, and verify the header row is intact and the separator line did not survive as a stray row of dashes.
Also look at the cell contents themselves: confirm numbers, dates, and any leftover Markdown markup are what you expect, since the tool preserves text exactly and does not coerce types. If a few rows look off, it is usually faster to fix the Markdown source and re-convert than to patch the CSV by hand.
For anything official, financial, or legal -- figures going into a filing, an invoice, a record, or a contract -- treat this as a first pass and verify every converted value against the original table manually before you depend on it.
Frequently asked questions
It reads the pipe-delimited table rows and automatically ignores the separator line (the row of dashes under the header), so only real data ends up in the CSV.
Yes. The output is standard comma-separated values that Excel, Numbers, or Google Sheets can open directly.
Cells are emitted as CSV fields, and any value containing a comma or quote is quoted so the file stays valid. Pipes inside a cell should be escaped in the source Markdown.
No. The conversion runs in your browser — your text or file is processed on your own device and, on this site, is not uploaded to a server, and we do not intentionally store it.
Related data tools
Tool last reviewed: June 30, 2026 · Report a problem