Excel to Markdown: Tables an LLM Can Actually Read
Try this and watch it fail: copy a range of cells from Excel, paste it into a chat with an LLM, and ask a question about the numbers. What the model receives isn't a grid — it's a stream of values separated by tabs and line breaks, with no reliable way to know that "£4,200" belongs to March in the North region. The spatial relationship that made the spreadsheet legible to you is gone the instant it leaves the grid. The model is now guessing which number goes with which label.
That's the whole difficulty with spreadsheets and AI. Excel stores meaning in position — row and column — and plain text has no position. Converting Excel to Markdown fixes it by turning the grid into a real Markdown table, where every value stays explicitly bound to its column header. Here's why that matters and how to do it without mangling your data.
Why a Markdown table beats a pasted grid
A Markdown table is just pipes and dashes:
| Region | Month | Revenue |
| --- | --- | --- |
| North | March | £4,200 |
It looks primitive, but that primitiveness is exactly what a language model needs. Every row restates the structure. The model never has to infer alignment from whitespace — the | characters make the column boundaries unambiguous, and the header row tells it what each column means. Ask "what was North's March revenue?" and the answer is sitting there, unmistakably linked. Paste the raw grid instead and you're hoping the model reconstructs a layout you've already destroyed.
The parts that usually break
Spreadsheets are messier than they look, and this is where conversions go wrong:
- Multiple sheets. A workbook is often several tables. A good conversion handles each sheet separately, with a heading naming it — not one giant merged blob.
- Merged cells and headers. Merged title rows and multi-level headers don't map cleanly to a flat table; they need flattening sensibly, not dropping.
- Empty rows and columns. Spacer rows that made the sheet readable become noise in Markdown and should be trimmed.
- Numbers as text. Currency symbols, thousands separators, and dates need to survive as written, not get silently reformatted.
MarkPrep's Excel-to-Markdown converter walks each sheet, emits a proper pipe table per sheet with the header row intact, and skips the blank spacer rows — so what the model reads matches what you meant.
What about really big spreadsheets?
Tables are token-dense — every cell, every pipe, every header repeated per row adds up fast. A spreadsheet that looks small can be a surprising number of tokens once it's a Markdown table. Before you feed a large one to a model, check the token count; if it's over your model's window, you'll want to split by sheet or by logical section rather than truncating a table halfway through.
Keep the data on your machine
Financial models, pricing sheets, customer lists, payroll — spreadsheets are some of the most sensitive files people own, and also the ones they're most tempted to drop into a quick online converter. You don't have to make that trade. The whole conversion — reading the .xlsx, walking the sheets, building the tables — runs locally in your browser. Your numbers never leave the device.
Bottom line
An LLM can reason about a table brilliantly and about a pile of tab-separated values barely at all. The fix is to stop pasting the grid and start giving it a real Markdown table. Convert the spreadsheet first, keep every value tied to its header, check the token count, and let the model work with structure instead of guesswork.
Try it on your own file
Convert a document and watch the token counter — free, no account, nothing uploaded.