How this Markdown table generator works
A Markdown table is built from three parts. The header row lists the column titles, separated by pipe characters (|). The delimiter row comes next: one group of dashes (---) per column, which both separates the header from the body and tells the renderer how many columns to expect. After that, every data row follows the same pipe-separated pattern.
This tool keeps an editable grid in sync with that syntax. As you type in any cell, change the row or column count, or set a column's alignment, it regenerates the Markdown live. Pipe characters inside your cells are escaped as \| automatically so a stray pipe can never break the table, and you can optionally pad each column with spaces so the raw source lines up neatly in a monospace editor.
| :--- | :--: |. The header | Item | Qty | plus a row | Apple | 3 | renders as a two-column table on GitHub and most Markdown viewers.Reference note: this generates GitHub Flavored Markdown (GFM) tables. Extra padding spaces are ignored by renderers, and a literal pipe in a cell is written as \|. Line breaks inside a single cell are not part of the basic table syntax, so the tool keeps each cell on one line.
Markdown table syntax
| Part | Example | Meaning |
|---|---|---|
| Header row | | Item | Qty | | Column titles, separated by pipes |
| Delimiter row | | --- | --- | | Dashes mark the header / set columns |
| Left align | :--- | Colon on the left |
| Center align | :--: | Colon on both ends |
| Right align | ---: | Colon on the right |
| Data row | | Apple | 3 | | One row of cells per line |
| Escaped pipe | a \| b | A literal pipe inside a cell |
Frequently asked questions
- How do I make a table in Markdown?
- Write the header cells on one line separated by pipes (
|), add a second line of dashes (one group per column) to mark the header, then put each data row on its own line, again separating cells with pipes. This generator builds that syntax for you from the editable grid. - What is the delimiter row?
- It is the second line of the table, made of dashes such as
---. It separates the header from the data rows and defines how many columns there are. Adding a colon to one or both ends of a dash group sets that column's alignment. - How do I align columns in a Markdown table?
- Use colons in the delimiter row:
:---for left,:--:for center and---:for right. Plain---leaves the default. This tool writes those colons for you when you pick an alignment per column. - How do I escape a pipe character in a Markdown table?
- Write a literal pipe inside a cell as a backslash followed by a pipe (
\|) so it is not treated as a column separator. The generator escapes pipes in your cell text automatically, so the table never breaks. - Does the table work on GitHub?
- Yes. The output is GitHub Flavored Markdown table syntax, which renders in GitHub issues, pull requests and README files, as well as GitLab, Reddit and many static site generators.
- Is my data sent anywhere?
- No. The table is built entirely in your browser. Nothing you type or paste is uploaded to a server or stored anywhere, so your data stays private on your device.