Markdown Table Generator
Create and edit Markdown tables visually. Import from CSV/Excel. Free online Markdown table maker with alignment options
A markdown table looks trivial — pipes and dashes — until you need 12 columns with mixed alignment, escape a literal pipe inside a cell, or convert a 200-row CSV. Hand-writing the dashes-and-pipes lattice is mechanical and error-prone. This generator builds GFM-compatible tables from cells you edit visually, imports from CSV / TSV / JSON, supports column alignment, and emits both Markdown table syntax and the HTML fallback for renderers that do not understand GFM.
GFM table syntax
GitHub Flavored Markdown tables are: a header row of pipe-separated cells, a separator row of dashes with optional colons for alignment, and one or more data rows. The separator row determines whether tables render — without it, the renderer treats the lines as paragraphs.
| Column A | Column B | Column C |
|----------|:--------:|---------:|
| left | center | right |
| more | data | here |Alignment colons in the separator row: :--- left, :---: center, ---: right, --- default (usually left). Column widths in source do not need to match — the renderer aligns based on the longest cell, not the visual whitespace.
Working example: a release-notes table
Input
CSV input: Version,Released,Breaking,Highlights 3.18.0,2026-05-14,no,SEO content layer 3.17.0,2026-04-22,yes,Auth rewrite 3.16.0,2026-03-15,no,Performance pass
Output
| Version | Released | Breaking | Highlights | |---------|------------|:--------:|--------------------| | 3.18.0 | 2026-05-14 | no | SEO content layer | | 3.17.0 | 2026-04-22 | yes | Auth rewrite | | 3.16.0 | 2026-03-15 | no | Performance pass |
CSV imports use the header row to populate column names. Alignment was inferred from data types (dates left-aligned, short labels centered). The visual padding makes the source readable — the renderer does not need it but PR reviewers do.
Pitfalls and the workarounds
- Literal pipes in cells — escape with backslash: \|. Or wrap the table in an HTML <table> if you have many pipes (think SQL queries as cell content).
- Multi-line cells — not supported in basic GFM. Use <br> for visible line breaks inside a cell, or fall back to HTML <table> with <td> containing block elements.
- Empty cells — write at least a space between pipes: | | |. Markdown renderers treat the consecutive pipes as table-cell-boundary errors otherwise.
- Cells with leading/trailing whitespace — preserved by some renderers, trimmed by others. Do not depend on it for alignment; use the separator-row colon syntax.
- Header-row alignment — alignment in the separator row applies to the data rows AND the header. If you want a left-aligned header above right-aligned data, you cannot — GFM has one alignment per column.
- Tables nested inside lists — supported by GFM since 2020 but rendered inconsistently across viewers. If you must, ensure the table starts on a new line aligned to the list-item indent.
When to reach for this tool
- You are writing a README and need to compare versions, features, or pricing tiers in a table without hand-counting dashes.
- You inherited a CSV of API endpoints and want it as a markdown table for the docs site.
- You are pasting from a spreadsheet (Numbers, Excel, Google Sheets) and need consistent markdown output, not the awful HTML those apps emit.
- You are normalizing a long markdown table that someone hand-wrote — re-padding the cells for readable diffs.
What this tool will not do
- It will not produce tables with merged cells (rowspan / colspan). Markdown has no syntax for it. Use HTML if you need merged cells.
- It will not auto-style. Color, borders, hover states are CSS concerns. The rendered HTML inherits the site's table styling.
- It will not preserve the structure when round-tripping through every renderer. CommonMark-strict viewers (some npm registries) ignore tables entirely. For maximum portability, fall back to definition lists or paragraphs.
Frequently asked questions
How do I add a literal newline inside a cell?
Use <br> as HTML inside the cell. GFM does not have native multi-line cell syntax; the HTML approach works because GFM permits inline HTML. Some renderers (Slack, MS Teams) ignore the HTML.
My table is not rendering on GitHub. Why?
Almost always: missing separator row (the second line with dashes), or the table is inside an HTML block that disables markdown parsing. Make sure there is a blank line before the table and the separator row matches column count exactly.
How do I align numbers right and labels left in the same column?
You cannot — GFM has one alignment per column. Workarounds: (1) use right-align and right-justify labels with extra spaces (cosmetic only, brittle), (2) use HTML table with per-cell <td style="text-align:right">, (3) split into two columns (label left, number right).
Does the column-width padding in the source matter?
Only for human readability. The renderer ignores it and aligns based on content. Some teams pad heavily so PR diffs show clean column-aligned changes; others write minimal-whitespace tables to reduce noise. Either is fine if consistent within a project.
Can I have a markdown table with just one column?
Yes — | Heading | with a separator |---|. Looks odd in source but renders as a single-column table. Useful for lists where you want visual borders without using a list element.
How big can a markdown table get?
GFM has no hard limit, but viewers degrade. GitHub renders tables fine up to ~1000 rows; beyond that the page becomes slow. For larger data, render as HTML, paginate, or link out to a proper data view. Markdown tables are for readable documentation, not data presentation.
Related tools
Write and preview Markdown with live rendering. GitHub Flavored Markdown support. Free online Markdown editor with syntax highlighting
Format and beautify JSON, XML, CSS, HTML, JavaScript, SQL code. Auto-indent and syntax highlight. Free online code beautifier and formatter
Convert data between JSON, CSV, YAML, XML, TOML formats online. Free data format transformer with syntax validation and pretty printing
Advanced spreadsheet-like table editor. Sort, filter, search data. Basic formulas support. Import/export CSV, JSON. Free online data grid editor
Last updated · E-Utils editorial team