EllyTools

Image Tools

Calculators

Text Tools

Color Tools

File Tools

Utility Tools

Markdown Table Generator

Create Markdown tables visually

1. col
2. col
3. col
1
2
3

Generated Markdown

|     |     |     |
| --- | --- | --- |
|     |     |     |
|     |     |     |
|     |     |     |

β—ˆ How to Use

1

Set the number of rows and columns

2

Enter data in the grid and set column alignment

3

Copy the generated Markdown table or import from CSV

❓ Frequently Asked Questions

Related Tools

β—‰ Who Is This For?

  • βœ“Developers writing documentation in Markdown
  • βœ“Technical writers creating tables for README files
  • βœ“Anyone who needs to create Markdown tables without memorizing the syntax

Markdown tables β€” one pipe in a cell breaks the whole thing

A Markdown table separates its columns with a vertical bar. So a cell containing a bar adds a column, and every row below it lines up wrong. The source still looks fine, which is why this one gets past review.

A Markdown table has three parts: a header row, a row of hyphens that sets the alignment, and the body. There is barely enough syntax to call it syntax.

The cost of that simplicity is that there is nowhere to hide. A single | is the only thing marking a column boundary, so a | in the content is indistinguishable from one. A row is a line, so a line break in a cell is indistinguishable from the end of the row. Those two characters are very nearly the whole job.

Pipes have to be escaped

Write a|b in a two-column table and it renders as three cells. The header still has two, so from that row down the columns are off by one. In the source it reads as | name | a|b |, which does not look wrong to a human eye.

The fix is a backslash: a\|b renders as a literal bar. This tool adds it and reports how many cells it had to change.

Pipes in table cells are more common than they sound β€” regular expressions, shell commands, the || operator, and code samples all contain them.

Line breaks become <br>

In a table, one line is one row. A real line break inside a cell therefore ends the row, and everything after it stops being a table and becomes a paragraph. It looks as though half the table vanished.

Markdown has no syntax for a line break inside a cell, so the convention is <br>, which is what GitHub renders. When pasted data contains line breaks, this tool converts them.

What breaks a cell

Cell contentLeft as-isWhat the tool writes
a|badds a columna\|b
Line one ⏎ line twothe table ends thereLine one<br>line two
Busan, Haeundaefineunchanged
**bold**renders as boldunchanged β€” usually intended

Pasting from a spreadsheet

Copying a cell range puts tab-separated text on the clipboard; a CSV file uses commas. This tool works out which by counting commas and tabs that fall outside quotes and taking whichever wins.

The common shortcut is to split on both at once. That means tab-separated data breaks on its first comma β€” one note reading β€œhello, there” is enough to split a cell in two.

Quotes are honoured as well, so "Busan, Haeundae" stays a single cell. Spreadsheets write addresses that way, and a tool that cannot read them mangles almost every real table.

Making a table worth reading

  • β€’Columns are padded to an even width. It renders identically but the source is far easier to read in an editor.
  • β€’Alignment comes from colons in the hyphen row: :--- left, :---: centre, ---: right.
  • β€’Right-align numeric columns so the digits line up.
  • β€’Past about five columns a list often beats a table β€” narrow screens scroll sideways.
  • β€’Leave empty cells empty. There is no need to fill them with a hyphen or N/A.

Frequently asked questions

Can a cell hold a list or several paragraphs?

No. A cell is a single line. <br> gives you a line break, and if you need a real list the content probably does not belong in a table.

My table works on GitHub but not elsewhere.

Tables are an extension, not part of the CommonMark standard. GitHub, Notion and most static site generators support them; a minimal Markdown processor may not.

Does the padding affect the output?

No. Leading and trailing spaces in a cell are ignored when rendering. The padding is there so a person can read the source.

Is pasted data stored anywhere?

No. Everything runs in your browser.