How to copy-pasting a word table breaks markdown — use excel-to-markdown instead
- Step 1Move tabular data out of Word into Excel — If your reference table currently lives in a Word doc, select it and paste into Excel (Word tables paste cleanly into a sheet), or maintain the data in
.xlsxgoing forward. Excel is easier to edit, diff, and version than a Word table. - Step 2Put the table on the first sheet, headers on row 1 — The tool reads the first sheet only and treats row 1 as the header. Make sure the column names — not a Word-style title — sit on row 1.
- Step 3Open Excel-to-Markdown and drop the workbook — Drop the
.xlsx. SheetJS parses it in the browser; nothing is uploaded, unlike pasting through a web-based Word-to-Markdown service. - Step 4Choose alignment — Pick Left, Centre, or Right for the whole table. This is the deterministic separator row Word paste almost never gives you.
- Step 5Convert and verify — Click Convert to Markdown and check the row/column counts. Compare against a Word copy-paste of the same table and you'll see the difference immediately.
- Step 6Copy or download — Copy to clipboard or download
.md, then paste into your docs. No manual pipe-fixing required.
Excel-to-Markdown vs Word table copy-paste
How the two workflows compare on the things that determine whether a Markdown table actually renders. Excel-path behaviour verified against the converter implementation.
| Aspect | Excel-to-Markdown (this tool) | Word table copy-paste |
|---|---|---|
| Output | Valid GFM pipe table with separator row | Tab-separated text, HTML, or broken pipes — editor-dependent |
| Header row | First row auto-becomes the GFM header | Often merged with the first data row or lost |
| Separator row | Always written (:--- / :---: / ---:) | Rarely produced — table won't render without it |
| Pipe in a cell | Escaped to \| | Frequently left raw, splitting the column |
| Line break in a cell | Collapsed to a space | May inject literal newlines that break the row |
| Alignment | One control for the whole table | No reliable alignment markers |
| Upload | Browser-only (SheetJS) | Many online .docx converters upload your file |
When to use which
The honest decision matrix — including the cases where this tool is the wrong choice.
| Situation | Best path |
|---|---|
| Data already in Excel/Sheets | Excel-to-Markdown directly |
| Data in a Word table | Paste into Excel first, then Excel-to-Markdown |
| Need multi-line cells preserved | Neither — GFM tables can't hold line breaks; rethink the layout |
| Need rich formatting (bold, colours) in cells | Keep it in Word/Confluence rich text |
| Need a styled HTML table | Use excel-tailwind-export, not Markdown |
| Per-column alignment required | Excel-to-Markdown then hand-edit the separator row |
Cookbook
Side-by-side outcomes for the same source table via each path. Left block shows the typical Word-paste result; right block shows the Excel-to-Markdown output.
Same table, two outcomes
A three-column table pasted from Word into a plain Markdown editor versus converted from Excel. Only the Excel path renders.
Word copy-paste into a .md file (typical): Name Role Status Ada Engineer Active (no pipes, no separator row -> renders as plain text) Excel-to-Markdown output: | Name | Role | Status | | :--- | :--- | :--- | | Ada | Engineer | Active |
Pipe in a cell: Word leaves it raw
A cell containing Pass | Fail. Word paste keeps the raw pipe and the column splits; the Excel path escapes it.
Word paste fragment: | Login | Pass | Fail | <- 3 cells where there should be 2 Excel-to-Markdown output: | Step | Result | | :--- | :--- | | Login | Pass \| Fail | <- 2 cells, correct
Multi-line Word cell
A Word cell with two lines of text injects a newline on paste that breaks the table. The Excel path collapses it to a space.
Word paste (newline breaks the row): | Task | Note | | Release | Ship date confirmed awaiting QA | <- row split in two Excel-to-Markdown output: | Task | Note | | :--- | :--- | | Release | Ship date confirmed awaiting QA |
Word data salvaged via Excel
The recommended path when the source is a Word table: paste it into Excel, then convert. This tool does not read .docx directly.
Step 1: select the Word table -> copy -> paste into Excel Sheet1 Step 2: ensure row 1 is the header Step 3: drop the .xlsx into Excel-to-Markdown Result: a clean GFM table, no manual pipe-fixing.
HTML residue from Word vs clean Excel output
Some Word-to-Markdown converters leave and <td> fragments. The Excel path emits plain pipe syntax (note: cell HTML is passed through, not injected).
Word-to-Markdown converter residue: <td>Ada </td><td>Engineer</td> Excel-to-Markdown output: | Ada | Engineer | (plain pipes; the tool does not add HTML, though existing cell HTML is preserved verbatim)
Edge cases and what actually happens
This tool cannot read a .docx Word file
Unsupported inputExcel-to-Markdown reads spreadsheets (.xlsx, .xls, .ods), not Word documents. If your table is in Word, paste it into Excel first (Word tables paste cleanly into a sheet) or save it as .xlsx, then convert. Dropping a .docx will not work.
Word paste loses the separator row
Renders as textThe single most common Word-to-Markdown failure is no :--- separator row, so the editor shows plain text. The Excel path always writes the separator row, which is why its output renders where Word paste doesn't.
Word cell with embedded line break
Row split (Word) / Collapsed (Excel)A multi-line Word cell injects a newline on paste that splits the Markdown row. The Excel path collapses in-cell line breaks to a space, keeping one row per record.
Pipe characters from Word
Raw (Word) / Escaped (Excel)Word paste leaves a | inside a cell raw, splitting the column. The Excel path escapes it to \|. This is the case that most often makes a pasted table look one column too wide.
Rich formatting is lost either way
Formatting droppedBold, colour, and cell shading from Word do not survive into Markdown — GFM tables hold plain text. If formatting is essential, keep the table in Word or a rich-text wiki rather than converting to Markdown at all.
Only the first sheet is converted
By designEven on the Excel path, only the first sheet is read. Put the table you're comparing on the first tab before converting.
Banner row treated as the header
Header misreadIf row 1 is a title rather than column names, that phrase becomes the header. Word docs often carry a title above the table — when you paste into Excel, delete it so row 1 is the headers.
HTML in a cell passes through
Rendered as HTMLThe Excel path does not inject HTML, but it also does not escape angle brackets already in a cell — <b>x</b> passes through and renders. This differs from Word converters that emit their own HTML residue.
Numbers reformatted on the Excel path
Number coercionNumeric cells are read as numbers, so leading zeros and very long IDs can change. Format such columns as Text in Excel before converting. Word paste preserves the literal text but breaks the table in other ways.
Online Word converters upload your document
Privacy riskMany web-based Word-to-Markdown converters upload the .docx to a server. The Excel path here parses entirely in your browser with SheetJS — nothing is uploaded, which matters for confidential documents.
Frequently asked questions
Why does Word-to-Markdown produce broken tables?
Word stores tables as proprietary .docx XML, and clipboard/HTML converters guess at the structure. The result is usually tab-separated text, HTML fragments, or pipes with no :--- separator row — none of which render as a Markdown table. The Excel path is deterministic: it always writes a valid pipe table with a separator row.
Can this tool read a Word (.docx) file directly?
No. It reads spreadsheets — .xlsx, .xls, .ods — not Word documents. If your table is in Word, paste it into Excel first (Word tables paste cleanly into a sheet) or save as .xlsx, then convert.
Can I export from Google Sheets instead of Excel?
Yes. Download the sheet as .xlsx (File → Download → Microsoft Excel) and drop it in. A .csv export is less reliable here because the underlying converter expects a spreadsheet or JSON; save as .xlsx for the smoothest path.
Does it work with multi-line cell content?
Line breaks inside a cell are collapsed to a single space, because GFM pipe tables are one line per row. This is actually an advantage over Word paste, where a multi-line cell injects a newline that splits the table row. If you truly need multi-line content, a Markdown table is the wrong container.
Will my cell formatting (bold, colour) carry over?
No — and neither does Word paste, reliably. GFM tables hold plain text only. If formatting is essential, keep the table in Word or a rich-text wiki. For a styled table, use excel-tailwind-export to get an HTML table with classes.
What's the single biggest reason the Excel path renders and Word's doesn't?
The separator row. GFM requires a :--- line between the header and the body, and Word paste almost never produces it. This tool always writes it, so its output renders immediately.
Does it handle pipes in cells better than Word?
Yes. A | inside a cell is escaped to \| so the column count stays correct. Word paste typically leaves the pipe raw, which splits the column and makes the table one cell too wide.
Is my document uploaded during conversion?
No. SheetJS parses the spreadsheet in your browser — nothing is sent to a server. Many online Word-to-Markdown converters, by contrast, upload your .docx, which is a concern for confidential documents.
Which row becomes the header on the Excel path?
Row 1 of the first sheet. When you paste a Word table into Excel, delete any title above it so the column names land on row 1.
Can I get per-column alignment like a Word table layout?
Not directly — the tool applies one alignment to the whole table. After copying, edit the separator row by hand to set per-column alignment (e.g. | :--- | ---: |). Word doesn't reliably translate its alignment to Markdown at all.
What if the Word table has merged cells?
Merged cells don't translate to GFM tables (which are strictly rectangular) from either path. When you paste into Excel, unmerge first; SheetJS will then read a clean grid and the Markdown stays aligned.
Which other artefacts can I generate from the same data?
From the same spreadsheet you can produce SQL via json-to-sql, a Python data structure via excel-python-gen, or an HTML table via excel-tailwind-export. The Markdown path is just one output of the dev-bridge family.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.