Skip to content

Tool

Next stepCSV to Markdown

How It Works

  1. 01

    Pick a file

    One XLSX, XLS or ODS file, dropped or chosen.

  2. 02

    Sheets

    Every sheet, including hidden sheets, in the same .md file.

  3. 03

    Take the Markdown

    Copy the source or download a .md file.

Privacy

The file is read in the browser and is not uploaded. It is not stored on someone else's server.

The sheet is useful in the spreadsheet. In a wiki or a prompt you need the same cells as text. Open one XLSX, XLS or ODS file. Every sheet, including hidden sheets, goes into one .md file, each under its own heading. The table shows the stored cell value. The file stays local and is not uploaded.

01: How to Use

How do you use this tool?

  1. Drop one XLSX, XLS or ODS file.
  2. Set the YAML header if you want it. Turn on "Output formulas instead of values" only when you want the formula text.
  3. Click "Convert to Markdown", then copy the source or download the .md file.

Why convert XLSX to Markdown?

The sheet is handy while it stays in the spreadsheet. In a wiki, a doc or a prompt you need the same cells as text.

GitHub Flavored Markdown represents tables as plain text. A compatible renderer displays the rows and columns.

This tool takes one XLSX, XLS or ODS file and writes one Markdown file. Every sheet is included, hidden sheets too. Each sheet starts with a level-1 heading, # Sheet name.

How does the conversion work?

You open a file. One file counts per run. Conversion starts when you click Convert to Markdown.

XLSX, XLS and ODS take the same path. A hidden sheet is included. A sheet with content becomes a table. An empty sheet stays a heading, with no empty table. You do not pick a single sheet.

The first kept row becomes the header. If it is missing, add it first, or the first data values become the headings.

Empty cells stay empty. Completely empty rows are skipped. Shorter rows are padded with empty cells. A line break inside a cell becomes <br>. A vertical bar inside a cell is escaped. Each table row stays one line in the Markdown source.

By default the table shows the stored cell value. The formula is not recalculated. Turn on Output formulas instead of values, and the cell shows the formula text as inline code.

Numbers are written as values, not in the currency or percent display. A cell value of 0.125, shown as 12.5%, comes out as 0.125. A cell recognized as a date is written as ISO-8601, for example 2026-10-18T00:00:00.000Z. The visible text of a link stays text. The target address does not come along.

Merged cells keep the value in the top-left cell. The other cells in that area stay empty.

The file picker shows the limit. It is usually 20 MB. If the browser reports less than 4 GB of RAM, the limit is 10 MB, including on a desktop. If the browser does not report that figure, the limit stays 20 MB.

Turn the YAML header on if you want it. It is on by default, and then it also names the sheet count. You then see the Markdown source in a code block. Copy it or download a .md file.

What is the tool actually used for?

  • Data tables for wiki pages. An Excel list of tools, suppliers or inventory becomes a Markdown table in internal docs.
  • Prompt with cell values. The values sit in the prompt as a Markdown table.
  • Hugo / Astro content tables. Statistics tables from Excel land as Markdown blocks in blog posts or docs.
  • Logseq pages. Inventory tables sit on the page as a Markdown block.
  • Markdown notes. The table sits in the note as text you can read the next time you open it.

What stays: what doesn’t?

Still there: cell text, sheet order, empty cells, the stored number.

Always added: a heading # Sheet name per sheet, and, when the sheet has content, the first kept row as the header with | --- |.

Can change: percent and currency display, recognized dates, and the target of a link. The formula switch writes the formula text instead of the stored value.

Charts and embedded images are not included in the Markdown file.

How does the tool keep my spreadsheet private?

Spreadsheets can be sensitive: payroll, customer addresses, internal figures. The file is read locally in the browser and is not uploaded for this conversion. It is not stored on someone else’s server for that conversion.

This tool is part of the Markdown converter family: