Data

Markdown Table Generator

Generate a blank markdown table template with chosen rows, columns and alignment

Loading interactive tool…

Embed this tool on your site

About this tool

Markdown tables are supported in GitHub READMEs, Notion pages, Obsidian notes, and many other editors — but typing the pipes and the divider row by hand is fiddly. This generator writes the skeleton for you. Pick how many columns (1 to 12) and body rows (1 to 50) you need and one alignment for the whole table — Left, Center or Right — then click Generate table. The output is a ready-to-edit pipe table: a header row labelled Column 1, Column 2 and so on, a divider row using :--- for left, :---: for centre or ---: for right, and body cells filled with placeholders such as R1C1 and R2C3 that show each cell's row and column. Select the text, copy it into your editor and replace the placeholders with your own content. The tool does not edit cell contents, import pasted data or preview the rendered table — it produces the empty structure only. A 3-column, 4-row left-aligned table is generated when the page loads, and everything runs in your browser.

Why use it

  • No Counting Pipes: The header, divider and body rows come out with matching pipes and cell counts, so the table renders on the first try.

  • Correct Divider Syntax: The divider row uses :--- for left, :---: for centre or ---: for right alignment, the colon positions defined by GitHub Flavoured Markdown.

  • Placeholders Show Position: Body cells read R1C1, R1C2 and so on, so you can see which row and column you are editing while you fill the table in.

  • Quick Sizing: Change the column or row count and click Generate table to get a fresh template of any size up to 12 columns by 50 rows.

  • Browser-Only: The template is built in your tab with no upload, sign-up or tracking of what you generate.

How to use

  1. Enter the number of columns (1–12) and rows (1–50)
  2. Pick an alignment — Left, Center or Right — which applies to every column
  3. Click Generate table to rebuild the Markdown template
  4. Select the output text and copy it into your README, pull request, or documentation
  5. Replace the Column N headers and RrCc placeholders with your real content

When it helps

  • Starting a comparison table in a GitHub README (pricing plans, feature matrix, API endpoints) without hand-typing pipes
  • Adding a table skeleton to a pull request description to document a breaking change or migration guide
  • Creating a data table for a technical blog post written in Markdown without needing a rich-text editor
  • Laying out a quick scorecard or decision matrix you will fill in by hand
  • Reminding yourself of the divider-row syntax for left, centre or right alignment

Examples

Right-aligned 3 × 2 template

Input
Columns: 3, Rows: 2, Alignment: Right
Expected result
| Column 1 | Column 2 | Column 3 |
| ---: | ---: | ---: |
| R1C1 | R1C2 | R1C3 |
| R2C1 | R2C2 | R2C3 |

Centre-aligned 2 × 2 template

Input
Columns: 2, Rows: 2, Alignment: Center
Expected result
| Column 1 | Column 2 |
| :---: | :---: |
| R1C1 | R1C2 |
| R2C1 | R2C2 |

Default on page load

Input
Columns: 3, Rows: 4, Alignment: Left
Expected result
| Column 1 | Column 2 | Column 3 |
| :--- | :--- | :--- |
| R1C1 | R1C2 | R1C3 |
| R2C1 | R2C2 | R2C3 |
| R3C1 | R3C2 | R3C3 |
| R4C1 | R4C2 | R4C3 |

Tips

  • To put a literal pipe character inside a cell, escape it as \| — most GFM renderers handle this correctly.
  • Markdown tables do not support multi-line cells; use <br> for soft breaks if your renderer (GitHub, Notion) accepts inline HTML in table cells.
  • Need mixed alignment? Generate the table, then edit single divider cells — for example change one :--- to ---: for a numeric column.
  • Right-align numbers, left-align text, and centre-align statuses — that is the convention most readers expect in data tables.
  • If your table has more than roughly 6 columns, consider whether a definition list or two stacked narrower tables would be more readable — wide tables collapse badly on mobile.

Frequently Asked Questions

How do I right-align a column in a Markdown table?
Choose Right in the Alignment dropdown and click Generate table. Every column's divider becomes ---:. The alignment applies to all columns; to mix alignments, edit individual dividers by hand (:--- left, :---: centre, ---: right).
Can I paste data from Excel or Google Sheets?
No. The generator has no data input — it only builds an empty template with placeholder text. Paste the template into your editor and type or paste your values into each cell there.
What do Column 1 and R1C1 in the output mean?
They are placeholders. Header cells are labelled Column 1, Column 2 and so on, and each body cell is labelled with its row and column number, such as R2C3 for row 2, column 3. Replace them with your own text.
How large a table can it generate?
Up to 12 columns and 50 body rows. Values outside that range are clamped to the nearest limit when you click Generate table.
Will this output render correctly in GitHub PRs?
Yes. The output follows the GitHub Flavoured Markdown (GFM) table syntax: a header row, a divider row and body rows separated by pipes. It renders in pull request descriptions, issue comments, README files and wiki pages.
How do I include a pipe character | inside a cell?
Escape the pipe as \| in the cell content. Most GFM renderers (GitHub, Gitea, Notion, Obsidian) handle escaped pipes correctly and display them as a literal | character in the rendered table.
Does it support multi-line cell content?
Standard Markdown table cells are single-line. If your renderer supports inline HTML (GFM, Notion), you can use <br> for a soft break inside a cell. The generator does not add <br> automatically but you can type it directly.
Is there a copy button?
No. Select the text in the Markdown output box and copy it with Ctrl/Cmd+C.

Explore the category

Glossary

GitHub Flavoured Markdown (GFM)
A dialect of Markdown maintained by GitHub that adds support for tables, task lists, strikethrough, and fenced code blocks. GFM tables are the most widely supported table syntax across documentation and collaboration tools.
Pipe table
The standard Markdown table syntax that uses | characters to separate cells and a separator row of dashes to divide the header from the data rows. The alignment of colons in the separator row controls text alignment.
Column alignment
The text alignment setting for a table column, controlled by the position of : characters in the separator row. :-- is left, :-: is centre, and --: is right alignment.
Placeholder cell
Temporary text in a generated template, such as R1C1, that marks where real content goes. This generator labels each body cell with its row and column number.
Header separator
The row of dashes and optional colons that separates the header row from the data rows in a Markdown pipe table. This row is required — without it, the table is not recognised as a table by most Markdown parsers.
Escape character
A backslash (\) placed before a special Markdown character to prevent it from being interpreted as syntax. Inside table cells, \| produces a literal pipe character instead of a column separator.
A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.

Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.

✓ Free to use✓ No sign-up✓ 500+ possibilities