Markdown to Excel
Paste Markdown containing GitHub-Flavored Markdown tables and export them as a real Excel workbook (.xlsx) or CSV — multiple tables become multiple sheets, all client-side.
Runs entirely in your browser — files never leave your device.
How it works
- 01Paste or type Markdown containing one or more GFM tables into the left pane, upload a .md file, or use "Open from URL" to load one from the web.
- 02Detected tables render as a live preview on the right, with a count of how many were found.
- 03Click "Download as" → "Excel" for a workbook with one sheet per table, or "CSV" for the first table as plain CSV.
- 04Open the downloaded file in Excel, Google Sheets, or Numbers.
Frequently asked questions
Is this Markdown to Excel converter free?
Yes, with no account or limits. Table extraction uses the open-source marked library, workbook generation uses SheetJS (xlsx), and CSV output uses PapaParse — all running entirely in your browser.
Does my Markdown get uploaded to a server?
No. Everything — parsing, previewing, and generating the .xlsx/.csv file — happens in memory in your browser. Nothing is ever sent over the network (unless you use "Open from URL" to fetch a remote file, which is a direct browser request, not a server relay).
What happens if my Markdown has multiple tables?
Each table becomes its own sheet in the downloaded .xlsx workbook, in the order it appears in the document. Sheet names come from the nearest preceding heading (or "Table 1", "Table 2", etc. when there's no heading), truncated and de-duplicated to fit Excel's 31-character sheet-name limit.
Why does the CSV download only contain one table?
CSV is a flat, single-table format with no concept of multiple sheets — so the CSV download always contains just the first detected table (the "Download as" menu's CSV item is labeled accordingly whenever more than one table is detected). If you have several tables, pick "Excel" instead to get all of them.
What happens to non-table content in my Markdown?
Headings, paragraphs, lists, code blocks, and everything else that isn't a GitHub-Flavored Markdown table is ignored — this tool only extracts tabular data. That non-table content isn't lost from your input; it's simply not part of the exported spreadsheet.
Are pipe characters and formatting inside table cells handled correctly?
Yes. Escaped pipe characters (\|) inside a cell are unescaped back to a literal | in the exported spreadsheet, and each cell's text is copied as plain text into its own cell.