Create Markdown tables with a visual editor. Add columns, rows, set alignment, and export perfectly formatted tables.
Building Markdown tables by hand is tedious. This generator gives you a visual grid where you can add rows and columns, type in your data, and get properly formatted Markdown table syntax generated automatically.
Initializing in your browser…
Bidirectional HTML and Markdown converter with GitHub Flavored Markdown, tables, live preview, and customizable output styles
Full-featured Markdown editor with live preview, GitHub Flavored Markdown, syntax highlighting, table of contents, export to HTML/PDF, and multiple themes
Generate haiku poems with 10 themes: Nature, Zen, Ocean, Love, Technology, Space. Save favorites, custom words, export as image
You need a tidy Markdown table for a README but aligning pipes by hand for five columns is miserable.
Entered cells
Headers: Name, Role, Since · 2 data rows
Markdown
| Name | Role | Since | |-------|--------|-------| | Dana | Lead | 2021 | | Sam | Design | 2023 |
You fill a grid and the tool emits correctly aligned Markdown with the header separator row and optional column alignment markers, so it renders properly on every Markdown host. It also imports CSV, turning a spreadsheet selection into a doc table in one step.
Building Markdown tables by hand is tedious. This generator gives you a visual grid where you can add rows and columns, type in your data, and get properly formatted Markdown table syntax generated automatically.
The Markdown Table Generator is a visual grid editor rather than a text parser: you build the table by editing header inputs and cell inputs directly, set each column's alignment with left/center/right toggle buttons, and reorder rows with up/down arrows (which splice the row to a new index). It enforces a minimum of one column and one row, refusing to delete the last of either with a toast error, and removing a column also strips that column's key from every row's cell map. A 'Load Sample' button fills a three-column Name/Role/Status table (Alice/Bob/Charlie, with Status center-aligned), and a live HTML preview below the output mirrors the alignment classes so you see the rendered table as you type.
Markdown is regenerated on every keystroke from the column and row state. Column alignment is encoded into the separator row using the three standard markers - left is ':---', center is ':---:', and right is '---:' - and every cell is escaped so a literal pipe '|' becomes '\|' and any newline becomes a '<br>' tag, preventing user text from breaking the table structure. Output is controlled by two checkboxes wired to the URL via useUrlStates: 'Prettify' (on by default) and 'Compact'. The current configuration is shareable through ShareConfigButton, so a link reproduces your chosen formatting flags.
In Prettify mode the generator computes a maximum width per column (the longest of the header and all cell strings, with a floor of 3), then pads every cell to that width so the raw Markdown source is column-aligned and readable in a plain text editor - right-aligned columns are right-justified, center columns split the padding between both sides, and the dash count in the separator scales to match. With Prettify off, output is unpadded: the default produces standard spaced rows like '| a | b |', while ticking Compact removes the inner spaces entirely to emit minimal '|a|b|' rows for the smallest possible source. You can copy the result to the clipboard or download it as a 'table.md' file (a text/markdown Blob), and all generation happens locally in the browser.
Create clean comparison tables, feature matrices, or API parameter lists for project README files.
Build formatted tables for specs, changelogs, or compatibility matrices without wrestling with pipe characters.
Paste tab-separated data from a spreadsheet and convert it to Markdown table format instantly.
Yes. Copy cells from a spreadsheet and paste them in, the tool can parse tab-separated values into table cells.
There is no hard limit, but very large tables become unwieldy in Markdown. For data-heavy tables, consider linking to a CSV file instead.
Your text is processed locally in the browser. Nothing you paste or open is transmitted or logged.