Drop a .xlsx file and get a clean markdown table instantly. First sheet parsed, numbers right-aligned, runs entirely in your browser.
Three steps. Five seconds.
Drag and drop your .xlsx, .xls, or .xlsm file onto the drop zone, or click to browse and select it. The file is read locally — never uploaded.
SheetJS reads the workbook in your browser. The first sheet is extracted as a 2D array and converted to a GFM markdown table with correct alignment.
Copy the markdown table to your clipboard or download the .md file. The output is immediately usable in any markdown editor, GitHub README, or documentation tool.
SheetJS parses your Excel file locally — no upload, no server, instant results.
The converter uses SheetJS (xlsx), the most widely used JavaScript spreadsheet library, supporting .xlsx, .xls, and .xlsm formats.
SheetJS handles all three common Excel formats: .xlsx (modern Office Open XML), .xls (legacy BIFF format), and .xlsm (macro-enabled workbooks, macros are ignored during parse). It is the same library used by hundreds of enterprise tools for Excel processing.
The converter reads the first sheet of the workbook. The sheet name is displayed so you know which sheet was processed.
Multi-sheet workbooks are common, but most markdown documentation only needs one table. The first sheet (index 0 in SheetJS sheet order) is processed. If you need a different sheet, you can use Excel or Google Sheets to reorder the sheets before uploading.
Columns where every data row contains a number are right-aligned in the markdown separator row. Text columns are left-aligned.
SheetJS parses Excel numbers as JavaScript numbers, not strings. The converter checks the cell type directly — if every non-empty body cell in a column is a JS number, the column gets ---: alignment. No string-to-number guessing required.
The file is read entirely in your browser using the File API and SheetJS. It is never sent to a server, never stored, and never leaves your device.
Privacy matters for spreadsheets, which often contain sensitive business data. SheetJS reads the file using arrayBuffer(), processes it in-memory, and produces the markdown output — all within your browser tab. You can disconnect from the internet after the page loads and the converter will still work.
Everything you need to know.
.xlsx (Office Open XML, Excel 2007 and later), .xls (legacy BIFF format, Excel 97–2003), and .xlsm (macro-enabled workbooks — macros are ignored during parse). .csv files are not supported here; use the CSV to Markdown converter instead.
Paste CSV directly into our CSV to Markdown converter — no file upload needed, instant table output.