Skip to content

Excel XLSX to Markdown converter

XLSX to Markdown is a table extraction path, so the selected worksheet becomes one GFM pipe table and workbook-only structure is left behind.

  • Converted with Table engine · nothing stored
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Worksheet choice Changed

    The browser engine can read a named sheet, while the API run with defaults wrote the first sheet and warned that other sheets were not included.

  • Merged title cells Changed

    A merged A1:E1 report title became the first Markdown header cell, with generated column_2 through column_5 headings beside it.

  • Formula cells Changed

    Formula expressions were removed and cached results were written, as shown by line_total values 39 and 15 replacing B*C formulas.

  • Dates Changed

    Excel date cells were emitted as ISO timestamp strings such as 2026-09-10T00:00:00.000Z.

  • Percent cells Changed

    A 37.5 percent spreadsheet value appeared as the underlying decimal 0.375, not as the displayed percent text.

  • Markdown syntax Changed

    The output uses GitHub-flavored pipe table syntax with a separator row and escaped cell text where needed.

  • Workbook presentation Lost

    Charts, widths, formulas, colors, frozen panes, comments, and merged-cell geometry do not exist in the Markdown table output.

Sample conversions

Merged workbook heading

Input
17,714-byte workbook with Orders and Lookups sheets; Orders had merged A1:E1 = Q3 Orders, dates, percentages, and apostrophes.
Output
284-byte Markdown began | Q3 Orders | column_2 | column_3 | column_4 | column_5 |, then | A-001 | Ada Lovelace | 2026-09-10T00:00:00.000Z | 0.375 | 1250.5 |.

Formula totals

Input
Formula workbook with columns order_id, qty, unit_price, line_total and formulas B2*C2 and B3*C3.
Output
116-byte Markdown wrote | F-1 | 2 | 19.5 | 39 | and warned twice that formulas were dropped while cached values were retained.

A real Excel XLSX → Markdown run

We converted our Excel XLSX sample (17 KB) with Table engine on 2026-09-11. It took 1 ms and produced a 318 B Markdown file, 98% smaller than the input. The engine raised 2 warnings, listed below.

Input · sample.xlsx · 17 KB

Workbook with 2 sheets (Pipeline, Notes); first sheet 5 rows, 25 cells, 0 formulas

Sheets
2
Sheet names
Pipeline, Notes
Rows
5
Cells
25
Formulas
0
frozenHeader
no

Output · sample.md · 318 B

0 headings, 1 table, 0 list items, 0 code blocks, 0 image references

Headings
0
Tables
1
List items
0
Code blocks
0
Images
0
Lines
6
  • Workbook contains multiple sheets; each sheet was exposed as its own IR table.
  • Only the first table was written to this single-table format.

First lines of the output

md
| company | stage | arr | owner | close_date |
| --- | --- | --- | --- | --- |
| Northwind Traders | Proposal | 48000 | R. Ayers | 2026-10-14 |
| Contoso Ltd | Negotiation | 120000 | P. Ng | 2026-09-30 |
| Fabrikam | Qualified | 22500 | R. Ayers | 2026-11-02 |
| Tailspin Toys | Won | 64000 | M. Okafor | 2026-09-03 |

Options and when to change them

sheet
Choose a worksheet when the first tab is a cover page, lookup table, or instructions sheet.
headerRowIndex
Move the header below a report title or merged heading before Markdown columns are named.
dateHandling
Use date mode for ISO timestamps or string mode when the displayed workbook text must be copied.

Do it yourself

Python pandas

bash
python - <<'PY'
import pandas as pd
df = pd.read_excel("in.xlsx", sheet_name="Orders", header=1)
print(df.to_markdown(index=False), file=open("out.md", "w", encoding="utf-8"))
PY

Install tabulate for pandas Markdown output, and set sheet_name/header for workbooks with title rows.

Excel XLSX to Markdown by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Table engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=xlsx&to=md.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.xlsx" -F "from=xlsx" -F "to=md" \
  -F 'options={"sheet":""}' \
  --output output.md

Options this engine accepts for Excel XLSX → Markdown

KeyApplies toTypeDefault
sheetReading Excel XLSXstring
headerRowIndexReading Excel XLSXnumber0
dateHandlingReading Excel XLSXdate · stringdate
API reference

When this is the wrong conversion

  • Use /convert/xlsx-to-html when the table will be embedded in a web page instead of copied into Markdown.
  • Keep the workbook unchanged when formulas, sheet tabs, charts, and formatting are the content.

Excel XLSX to Markdown questions

Does XLSX to Markdown include every workbook sheet?

No. A single Markdown table is written from one worksheet. In our API run, the second Lookups sheet was omitted and the response carried a multiple-sheets warning.

What happens to Excel formulas in Markdown?

The formula text is not written to Markdown. The converter uses the cached value stored in the workbook, so a B2*C2 cell appeared as 39.

Why did my percent become a decimal?

The tabular engine reads the cell value rather than Excel's visual number format. A cell displayed as 37.5 percent can become 0.375 in the Markdown table.