↑↓ to navigate Enter to open Esc to close

Markdown Table Generator: Paste From Excel or Build One

Paste a range from Excel, Sheets or Numbers straight into the grid. Click any cell and press Ctrl+V — spreadsheets put tab-separated text on the clipboard and the grid expands to fit it. Pasting an existing Markdown table works too, so this edits tables as well as building them.

Most generators give you a grid and stop there. Getting data in is the part that takes the time, so that is what this does first — paste from a spreadsheet, drop in a CSV, or paste a table you already have and edit it.

Markdown Table Generator

Live
Runs entirely in your browser. Nothing is uploaded, and it keeps working offline once the page has loaded.

Getting data in

Four ways, and the first is the one that matters:

SourceHowWhat happens
Excel, Sheets, NumbersSelect a range, copy, click a cell, pasteSpreadsheets put tab-separated values on the clipboard. The grid grows to fit the range — a 6×20 selection becomes a 6×20 table
An existing Markdown tablePaste it into the output box, press Read edits backParsed into the grid, alignment included. This is how you edit a table rather than rebuild it
A CSV fileImport CSVQuoted fields and embedded commas handled properly
By handType into the gridRows and columns are added from the buttons or the controls in each header

What breaks a Markdown table

ProblemWhat you seeHandled here
A pipe inside a cellThe cell splits in two and every row after it misalignsEscaped to \| automatically
A line break inside a cellThe table ends earlyConverted to <br>, which renderers accept
Rows of different lengthsMissing cells, or cells that vanishEvery row is padded to the column count
An empty headerSome renderers drop the table entirelyEmpty headers are allowed but flagged below the output
No separator rowRendered as plain text, not a tableAlways written
The pipe is the one that catches people. A cell containing Yes | No or a file path with a pipe in it splits into two cells, and because Markdown tables have no closing tag the damage runs to the end of the table. It renders without an error — it just renders wrong, which is why it survives review.

Alignment

The separator row carries the alignment, written as colons:

SeparatorAlignmentUse it for
---Default (left)Text
:---LeftText, stated explicitly
---:RightNumbers — decimal points line up and columns become comparable at a glance
:---:CentreShort status values, ticks, single characters

Right-aligning numeric columns is the single change that most improves a data table, and it is the one most often skipped. A column of prices left-aligned is a column you have to read; right-aligned, you can scan it.

Padded or compact

Both render identically. The difference is what the file looks like when someone opens it in a text editor:

Padded

| Product | Units | Revenue | |----------|------:|--------:| | Widget | 120 | $2,400 | | Gadget | 45 | $1,350 |

Compact

| Product | Units | Revenue | |---|---:|---:| | Widget | 120 | $2,400 | | Gadget | 45 | $1,350 |

Padded for anything a person will edit — documentation, a README, a wiki page — because the columns stay readable in the raw file. Compact for generated content or where the file size matters, and for tables wide enough that padding would wrap the lines in an editor.

Common mistakes

Retyping data that is already in a spreadsheet. Select the range, copy, click a cell here and paste. A twenty-row table takes one keystroke instead of twenty minutes, and the transcription errors that come with retyping go with it.
Expecting merged cells to work. Markdown tables have no colspan or rowspan — the syntax cannot express them. If your table needs merged cells, it needs to be HTML, and most Markdown renderers accept an HTML table inline.
Building a wide table for a page people read on a phone. Markdown tables do not wrap or scroll on their own — a nine-column table on a narrow screen either overflows or squeezes into unreadable columns. Four or five columns is the practical ceiling for anything read outside a desktop.

Frequently asked questions

Can I paste from Excel or Google Sheets?

Yes. Select the range, copy it, click any cell in the grid and paste. Spreadsheets place tab-separated text on the clipboard, and the grid expands to fit whatever you pasted — a six-column, twenty-row selection becomes a six-by-twenty table.

Can I edit a table I already have?

Yes. Paste the Markdown into the output box and press Read edits back. It is parsed into the grid with its alignment intact, so you can add a column or fix a value without rebuilding the whole thing.

What happens to a pipe character inside a cell?

It is escaped to \| automatically. Left alone it would split the cell in two and misalign every row after it — and because Markdown tables have no closing tag, the table renders wrong rather than failing, which makes it easy to miss.

How do I right-align a column of numbers?

Use the dropdown under the column header. It writes ---: in the separator row, which every renderer understands. It is worth doing on any numeric column: right-aligned figures line up on the decimal point and become comparable at a glance.

Can Markdown tables have merged cells?

No. The syntax has no equivalent of colspan or rowspan. If you need them, write the table as HTML instead — most Markdown renderers, including GitHub’s, accept an HTML table inline.

Does the padding matter?

Not to the renderer — both forms produce the same table. It matters to whoever opens the raw file: padded columns stay readable in a text editor, which is why documentation and READMEs usually use them. Compact is better for generated content and very wide tables.

Is my data uploaded?

No. Everything runs in your browser with no server request, and works offline once the page has loaded. The CSV import reads the file locally too — it is never sent anywhere.

Related tools

See the full list of Document Tools, or try: