Paste cells from Excel, Google Sheets or CSV and get a lined-up Markdown table, or back
Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 16 Oct 2026.Paste cells from Excel, Google Sheets or a CSV and get a GitHub-flavoured Markdown table with the first row as the header, a row of 3 or more dashes under it and the pipes lined up. Columns can be aligned left, center or right with colons in the second row, and a | inside a cell is escaped as \|.
Copy the cells in Excel or Google Sheets, or a CSV, and paste them into the box.
The Markdown table appears beside it, the first row as the header and the pipes lined up.
Choose the alignment, or right-align the number columns; a pipe inside a cell is escaped for you.
Press Copy and paste the table into a README, an issue or any Markdown file.
Markdown tables are plain text: a header row, a delimiter row of dashes, then one line per row, with pipes between the cells. Writing one by hand is fine for three cells and tedious for thirty. This tool writes it from cells you already have.
What it reads.
| You paste | It is read as |
|---|---|
| Cells copied from Excel, Google Sheets or Numbers | tab-separated rows |
| CSV, or text separated by semicolons | delimited rows, quotes respected |
| A Markdown table | its cells and alignment |
What it writes. A GitHub-flavoured Markdown table, or CSV. With Line up columns on, every cell is padded so the pipes form straight columns in plain text, counting Chinese, Japanese and Korean characters and emoji as two columns wide. Off, the table is compact, which keeps diffs small.
Alignment. A colon in the delimiter row aligns a column: :--- left, :---: centred, ---: right. Choose one alignment for every column, keep the one a pasted table had, or right-align the columns that hold only numbers, such as prices.
Special characters. A pipe inside a cell would end it, so it is written as \|; a line break inside a CSV field becomes <br>. A pasted Markdown table is read the way the GitHub spec reads it: a row with too few cells is filled with empty ones and extra cells are dropped.
The reader was checked against the table examples 198 to 205 of the GitHub Flavored Markdown spec, and every table it writes is read back by a second, separate reader. Nothing you paste leaves the browser.
Write a header row with cells between pipes, then a delimiter row of at least three dashes per column, then one line per row: | Name | Price |, | --- | --- |, | Tea | 12 |. GitHub, GitLab and most editors render it. The generator writes all of it from pasted cells.
Select the cells in Excel or Google Sheets, press Ctrl+C, and paste into the generator. A spreadsheet copies cells separated by tabs, which the tool recognises; the first row becomes the header. Copy the Markdown and paste it into the README or issue.
Put colons in the delimiter row under the header: :--- aligns left, :---: centres and ---: aligns right. Without a colon the renderer decides, usually left. The generator sets the colons for you and can right-align every column that holds only numbers, such as prices or counts.
Escape it with a backslash, \|, because an unescaped pipe starts a new cell. The GFM spec says the escape works even inside code spans. The generator escapes every pipe in your data automatically, and turns line breaks inside a cell into <br>.
Yes. Paste the Markdown, choose CSV as the output, and copy or download it. The first table in the text is read the way GitHub reads it: escaped pipes become pipes again, short rows get empty cells, and fields with commas are quoted for Excel.
Alignment padding counts characters, and fonts draw some wider: Chinese, Japanese and Korean characters and most emoji take two columns in a monospaced font, so the generator counts them as two. In a proportional font nothing lines up, but the rendered table is correct anyway.
Rates and rules change; check the source before you rely on a figure.
Still stuck? Ask about Markdown Table Generator and anybody who knows can answer. No account needed.
Same job, other tools: TSV to JSON – Convert tab-separated values, such as a paste from Excel, into JSON.
On the related tools: Query String Parser – Split a URL query string into a table of decoded parameters.