What Is a Markdown Table and How Does It Work?
A Markdown table is a plain-text structure used to format tabular data in documentation, GitHub repositories, and static websites. Standardized in the GitHub Flavored Markdown (GFM) specification (Section 4.10), Markdown tables use pipe characters (|) to delimit columns and hyphen lines (---) to separate header labels from data rows.
How to Use the Markdown Table Generator
Use the interactive spreadsheet grid in the 'Table Editor' tab to type, edit cells, and navigate with Tab, Shift+Tab, Enter, and Arrow keys.
Click the alignment icons on column headers to toggle column alignment between Left (`:---`), Center (`:---:`), and Right (`---:`).
Use the '+ Row', '- Row', '+ Column', and '- Column' toolbar buttons to expand or shrink your table dimensions.
Switch to 'Import / Convert' to paste CSV, TSV, or spreadsheet clipboard cells copied directly from Microsoft Excel or Google Sheets.
Switch to 'Markdown Import' to paste an existing Markdown table to auto-format, align column widths, and repair syntax errors.
Preview your formatted GitHub Flavored Markdown (GFM) in real-time and click 'Copy Markdown', 'Copy HTML', or 'Download .md'.
GitHub Flavored Markdown (GFM) Table Syntax
A standard GitHub Flavored Markdown table consists of three primary components: a Header Row, a mandatory Delimiter/Separator Row, and one or more Body Rows.
How Markdown Table Column Alignment Works
Place a colon on the left side of the separator hyphens. This is the default alignment for text columns, names, and descriptions.
Place colons on both the left and right sides of the separator hyphens. Ideal for status badges, checkmarks (✓/✗), and short codes.
Place a colon on the right side of the separator hyphens. Standard practice for currency, numeric values, scores, and quantities.
Escaping Pipes (`\|`) & Handling Line Breaks (`<br>`)
Because pipe characters (|) are used to separate table columns, any literal pipe in cell text (such as in regular expressions or shell pipelines like cat | grep) must be escaped with a backslash: \|.
Standard Markdown does not permit raw enter line breaks inside table cells. To create multiline text inside a cell, use the HTML <br> element.
Converting CSV, TSV, Excel & Google Sheets to Markdown
Converting spreadsheet data into clean documentation tables is effortless:
Select any table range in Microsoft Excel, Google Sheets, or Apple Numbers and copy (Ctrl+C).
Switch to the Import / Convert tab and paste (Ctrl+V). The tool automatically detects tab delimiters.
Click Import to Table and instantly copy the formatted, aligned Markdown table.
Importing, Formatting & Repairing Existing Markdown Tables
Have an existing messy or broken Markdown table from a legacy README or wiki? Paste it into the Markdown Import & Repair tab. The parser automatically repairs missing separators, fixes unequal column counts, normalizes cell padding, and aligns column widths.
Markdown Tables vs. HTML Tables (Merged Cells & Colspan)
| Feature | Markdown Tables (GFM) | HTML Tables (<table>) |
|---|---|---|
| Syntax Readability | Clean, plain-text human readable | Verbose with opening/closing tags |
| Cell Merging (Colspan / Rowspan) | ✗ Not supported natively | ✓ Full colspan and rowspan support |
| Portability across Git platforms | ✓ Supported by GitHub, GitLab, Bitbucket | May be stripped by strict Markdown sanitizers |
| Inline Formatting | **bold**, *italic*, `code`, [links] | <strong>, <em>, <code>, <a> |
Step-by-Step Table Conversion Examples
Alice,Developer,India
Bob,Designer,UK
| :---- | :-------- | :------ |
| Alice | Developer | India |
| Bob | Designer | UK |
| :----------- | :-------------: | ----------: |
| Starter | 10 GB | $9.00 |
| Professional | 100 GB | $29.00 |
| Enterprise | 1000 GB | $99.00 |
Top Markdown Table Formatting Mistakes to Avoid
Unescaped pipes (`|`) split table cells unexpectedly. Always escape them as `\|` in Markdown tables.
GFM tables require a separator row with at least three hyphens (`| --- | --- |`) directly below the header row.
Raw line breaks break the Markdown table syntax. Use `<br>` tags to create line breaks within table cells.
Standard Markdown has no syntax for merged cells. Use the HTML export tab for complex tables requiring `colspan` or `rowspan`.