axiomape.comAll Tools
Grid Editor
Rows
Columns
Alignment
Live Preview

Fill in the grid above to see your table here.

Markdown Output
Key Terms Explained
Markdown
A lightweight plain-text markup language that converts to HTML. Created by John Gruber in 2004, it uses minimal punctuation to add formatting without needing a rich-text editor.
Pipe Table
A table format using the vertical bar character (|) as a column separator. Each row is a line of text, cells are divided by pipes, and the second row defines alignment with hyphens.
Syntax
The set of rules that define how characters must be arranged to be correctly interpreted by a Markdown parser. Using the wrong character in the wrong position produces broken output.
Header Separator
The mandatory second row in a GFM table, made of hyphens and optional colons. It tells the renderer where the header row ends and data rows begin. Without it, many parsers will not render the table.
Alignment Syntax
Colon placement inside the separator row that controls text alignment: :--- (left), :---: (center), ---: (right). The colons override default left-alignment on a column-by-column basis.
Escaping
Prepending a backslash to a character so the Markdown parser treats it as literal text rather than syntax. In tables, a pipe inside a cell must be written as \| to prevent it from being parsed as a column separator.
GFM
GitHub Flavored Markdown - GitHub's extension of CommonMark that adds pipe tables, task lists, strikethrough, and autolinks. It became the de facto standard and is supported by most documentation tools and static site generators.
Column Padding
Adding extra spaces inside each cell so that pipe characters line up vertically when viewing the raw Markdown in a code editor. It does not affect rendering but makes the source file far easier to read and edit.

The Complete Guide to Markdown Tables

Markdown tables let you present structured data in plain text that renders as a clean HTML table in any GFM-compatible renderer. Whether you are writing documentation on GitHub, building a README, authoring a static site post, or drafting content in Notion or Obsidian, knowing how to construct a well-formed pipe table is essential. This tool takes the tedium out of counting pipes and colons by building the syntax for you as you type.

How to use this tool

Start typing in the header row (the first row of the grid, labeled "H"). Each cell you fill becomes a column header. Use "+ Col" to add more columns or "- Col" to remove the last one. Add data rows with "+ Row" and type your content into each cell. Pick a global alignment from the dropdown - Left, Center, or Right - and it is applied to every column at once. The Markdown Output panel updates with every keystroke. When you are happy with the result, click "Copy to Clipboard" and paste directly into your project.

You do not need to worry about pipe characters in your content. If a cell contains a literal | character, this tool automatically converts it to \| so the table parser does not misread it as a column boundary.

Anatomy of a Markdown table

Every valid GFM pipe table has exactly three parts:

| Header A   | Header B   | Header C   |
| :--------- | :--------- | :--------- |
| row 1 col1 | row 1 col2 | row 1 col3 |
| row 2 col1 | row 2 col2 | row 2 col3 |

Row 1 is the header row. Row 2 is the separator row (required). All subsequent rows are data rows. The separator must have at least one hyphen per cell. Alignment colons are optional but control how cells are rendered.

Alignment in detail

Left alignment uses :---, center uses :---:, and right uses ---:. You can mix alignments across columns in the raw separator row even though this tool applies one global alignment. For mixed alignments, copy the output and manually edit the separator row - the rest of the table will remain intact.

Where Markdown tables render

Pipe tables are supported natively in GitHub and GitLab README files, GitHub Wiki pages, Obsidian, Notion, GitBook, MkDocs, Docusaurus, Hugo, Jekyll (with GFM or Kramdown), VS Code's Markdown preview, most JetBrains IDEs, and the vast majority of modern static site generators. They are not part of strict CommonMark, so platforms that use a minimal CommonMark-only renderer (rare today) will display the raw pipes as plain text.

Tips for readable raw Markdown

This tool pads cells with spaces so pipes align vertically in the source. While the extra spaces have no effect on rendering, they make maintaining large tables by hand significantly easier. If you paste the output into an editor that reformats on save (like Prettier with the Markdown plugin), the formatting will be preserved.

Frequently Asked Questions

What is the difference between standard Markdown tables and GFM? +
Standard Markdown (CommonMark) does not include table syntax at all - tables are not part of the core specification. GFM (GitHub Flavored Markdown) added pipe table support as an extension. Most modern Markdown editors, documentation platforms, and static site generators implement GFM or a superset of it, so pipe tables are widely supported today. If a platform does not render your table, it is most likely using strict CommonMark without extensions.
How do I align text in a Markdown table? +
Alignment is controlled by colons in the separator row. A colon on the left only (:---) means left alignment. A colon on the right only (---:) means right alignment. Colons on both sides (:---:) means center alignment. No colons (---) defaults to left in most renderers. This tool applies your chosen global alignment to every column automatically.
Can I embed links within Markdown table cells? +
Yes. Standard Markdown inline syntax works inside table cells. You can use [link text](https://example.com) for hyperlinks, **bold**, *italic*, and inline code with backticks. The one character you must escape is the pipe character (|). If your cell content contains a pipe, write it as \| so the table parser does not treat it as a column separator. This tool handles that escaping for you automatically.
Why does my Markdown table not render correctly in some editors? +
The most common causes are: the platform uses strict CommonMark without the GFM table extension; the header separator row is missing or malformed (every GFM table requires at least one hyphen per cell in the second row); the column count in a data row does not match the header row (mismatched column counts cause many renderers to drop the row entirely); or an unescaped pipe character inside a cell is being parsed as a column separator, shifting all following columns.
What does the alignment syntax in the separator row look like? +
The separator row uses hyphens and colons to signal alignment. Left: | :--- |, Center: | :---: |, Right: | ---: |. You need at least one hyphen, but adding more is purely cosmetic. This tool pads hyphens to match the widest cell in each column for maximum readability in a plain-text editor.