Convert a Markdown table to CSV
Turn a GFM pipe table back into CSV for Excel, Numbers or a script — escaped pipes restored, alignment markers stripped, delimiter of your choice.
- Runs in your browser
- Files are never uploaded
- Free, no account
| Row actions | |||
|---|---|---|---|
- Rows
- 4
- Columns
- 3
- Cells filled
- 3
Your table never leaves this tab — check it yourself—
Starting the network probe…
The counter above wraps fetch, XMLHttpRequest and navigator.sendBeacon in this tab and counts every call. It does not block anything — it just reports.
Two ways to verify independently
- Turn off Wi-Fi or enable airplane mode, then use the tool. It keeps working, because the page is already fully loaded.
- Open your browser devtools, switch to the Network tab, clear it, and run the tool. No new row appears.
Why this matters
In 2025 researchers found that popular online formatters had retained tens of thousands of user-submitted snippets — JSONFormatter.org and CodeBeautify together exposed roughly 80,000 saved documents, many containing live cloud credentials, private keys and internal database connection strings, because “format this” quietly meant “upload this”. A separate incident exposed roughly 3.5 million user PDFs on a document-conversion service. The only structural fix is not sending the data in the first place: this site is served under a Content-Security-Policy whose connect-src contains no third-party origin, so a request off this device cannot be made even by accident.
What counts as a Markdown table
Three things have to be present, in order: a header row of pipe-separated cells, a separator row where every cell is dashes with optional colons, and zero or more body rows. Leading and trailing pipes are optional and both styles are accepted. If the separator is missing, or its cell count does not match the header, the parser says so rather than guessing — a wrong guess would silently shift every column.
| Endpoint | Method | p95 latency |
| ---------- | :----: | ----------: |
| /v1/orders | GET | 84 ms | What happens to Markdown-specific syntax
- Escaped pipes (
\|) become a literal pipe in the CSV field, correctly quoted so a spreadsheet does not split on it. - Alignment markers are read and then discarded. CSV has no alignment; a spreadsheet applies its own based on the value type.
- Padding spaces are trimmed from every cell.
- Inline formatting —
**bold**, backticks, link syntax — is kept as literal text, because stripping it would lose the URL from a link. Remove it in the grid if you want plain values. <br>tags are kept as text rather than converted to newlines. A CSV field can legally contain a real line break, but making that substitution silently would change your data; do it deliberately in the grid.
Opening the result in Excel
Excel decides how to split a CSV using your regional list separator, not the file’s contents. In a locale where the decimal separator is a comma — most of continental Europe and Latin America — a comma-delimited file opens with every row crammed into column A.
Three ways round it, in order of least effort:
- Switch the delimiter to semicolon in the output options before downloading. Excel in those locales opens it correctly.
- In Excel, use Data → From Text/CSV rather than double-clicking the file, and choose the delimiter in the import dialog.
- Rename the file to
.txt, which forces Excel to show the import wizard.
Google Sheets and Numbers detect the delimiter themselves and generally do the right thing with either.
JSON instead of CSV
Switch the output format to JSON and each body row becomes an object keyed by the header cells. That is the fastest route from a documentation table to a test fixture, a seed file or a lookup map — a table of HTTP codes, currency codes, feature flags or config defaults becomes usable data in one step.
Round-tripping
Markdown to CSV and back is lossless for the data and lossy for the presentation: alignment markers and padding are regenerated from your choices rather than recovered. If you need to preserve alignment through a round trip, note it before converting, or edit the CSV and come back through CSV to Markdown setting the alignment again in the grid.
Questions
What counts as a valid Markdown table?
A header row of pipe-separated cells, then a separator row where every cell is dashes with optional colons, then the body. Leading and trailing pipes are optional. If the separator row is missing or its cell count does not match the header, the tool tells you rather than guessing.
How do I open the result in Excel?
Download the CSV and open it — but if your locale uses a comma as the decimal separator, choose the semicolon delimiter first, or Excel will put every row in one column. The delimiter switch is under the output.
What happens to escaped pipes and <br> tags?
`\|` becomes a literal pipe inside the CSV field, correctly quoted. `<br>` is left as text, because a CSV field can contain a real newline and silently converting one to the other would change your data — replace it yourself if that is what you want.
Can I get JSON instead?
Yes. Switch the output format to JSON and each body row becomes an object keyed by the header cells — useful for turning a documentation table into fixtures or seed data.