Staaarter

Markdown Table to CSV Converter

Parses a GitHub-flavored Markdown pipe table, header row, --- separator row, and data rows, and converts it back into properly quoted CSV. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-29
By Staaarter Team
conversionstructured-datamarkdown

Overview

Introduction

Markdown tables in a README or wiki page are easy to read but awkward to work with programmatically. This tool parses a pipe table back into CSV so it can be opened in a spreadsheet or fed into a script.

It validates the required --- separator row before trusting the header, so a malformed or missing separator produces a clear error instead of silently misreading data as headers.

What Is Markdown Table to CSV Converter?

A Markdown-to-CSV converter that reads a GitHub Flavored Markdown pipe table, the header row, the --- separator row beneath it, and every following data row, into CSV.

It tolerates both the fully-piped `| a | b |` style and the bare `a | b` style, since Markdown renderers accept either.

How Markdown Table to CSV Converter Works

Each non-blank input line is split on unescaped | characters (a backslash-escaped \| is kept as a literal pipe in the cell text), after trimming any leading/trailing pipe.

The second line is checked against a separator pattern (dashes, optionally wrapped in alignment colons) before being discarded; every remaining line becomes one CSV data row, padded to match the header's column count.

When To Use Markdown Table to CSV Converter

Use it when you have a table written in Markdown, in a README, issue, or notes file, and need the underlying data as CSV for a spreadsheet or script.

It's also useful for migrating tables out of Markdown documentation into a proper data file.

Features

Advantages

  • Validates the --- separator row explicitly, so malformed tables fail with a clear error rather than silently producing garbage.
  • Handles both piped and unpiped Markdown table styles.
  • Runs entirely client-side, so the data never leaves your browser.

Limitations

  • Column alignment markers (:---, ---:, :---:) are discarded, since CSV has no equivalent concept.
  • Assumes a single well-formed table per input; text before or after the table isn't filtered out automatically.

Examples

Converting a Markdown table

Input

| id | name | active |
| --- | --- | --- |
| 1 | Ada Lovelace | true |
| 2 | Alan Turing | false |

Output

id,name,active
1,Ada Lovelace,true
2,Alan Turing,false

The header and --- separator rows are read first, then each remaining pipe row becomes one CSV row.

Best Practices & Notes

Best Practices

  • Strip any prose text surrounding the table before pasting, since only table-shaped lines are parsed.
  • If you get a separator-row error, double check the second line actually contains only dashes/colons/pipes.
  • Use CSV to Markdown Converter afterward to confirm a round trip reproduces the same table.

Developer Notes

The separator-row check is a dedicated regex pass before any data is read, rather than a generic "does this look tabular" heuristic, because a Markdown table without a valid --- row isn't a table per the GFM spec, and quietly treating the second data row as if it were a separator would silently drop a real row of data.

Markdown Table to CSV Converter Use Cases

  • Migrating a table out of a README or wiki page into a spreadsheet
  • Extracting structured data from Markdown release notes or documentation
  • Converting a table pasted from a Markdown editor into CSV for further processing

Common Mistakes

  • Pasting surrounding prose along with the table; only table-shaped lines are recognized as rows.
  • Expecting alignment markers to survive the round trip; CSV has no column-alignment concept, so they're dropped.

Tips

  • If a row looks shifted, check for an unescaped | inside a cell that wasn't written as \|.
  • Pair with CSV to Markdown Converter to verify the round trip before relying on the extracted data.

References

Frequently Asked Questions