Markdown or CSV input
Paste an existing Markdown table, CSV, or TSV and convert it into an editable grid.
Create clean Markdown tables, format existing tables, align columns, and copy ready-to-use Markdown output.
Paste an existing Markdown table, CSV, or TSV and convert it into an editable grid.
Add rows, add columns, and set Markdown alignment per column.
| Rows | |||
|---|---|---|---|
Formatted GitHub-flavored Markdown with escaped pipe characters.
Markdown Table Guide
Use the generator to create table syntax, clean pasted tables, align columns, and convert copied spreadsheet rows into GitHub-flavored Markdown.
A Markdown table uses a header row, a separator row with dashes, and one row per record. Pipes separate cells, and empty cells are preserved between pipes.
Use :--- for left alignment, :---: for centered values, and ---: for right-aligned numbers, prices, or counts.
GitHub, many README renderers, and technical note tools support pipe tables. Keeping columns aligned in source makes reviews and diffs easier to scan.
Paste comma-separated or tab-separated values from spreadsheets, API exports, or docs drafts, then format the result as a Markdown table without uploading the data.
Literal pipe characters inside cells are escaped as \| so they stay part of the cell value instead of splitting the table into extra columns.
This tool focuses on creating and formatting table source. Markdown Previewer is better for reviewing a full Markdown document with headings, lists, links, and code blocks.
No. Parsing, formatting, preview, copy, and downloads run locally in your browser.
Yes. Paste a simple pipe table, choose Format input, and the parsed headers, rows, and alignments become editable fields.
Yes. Paste CSV or tab-separated rows into the input editor. The first row becomes the header row and remaining rows become table body rows.
No. Empty cells are preserved so row and column counts stay stable while you edit or format the table.
Yes. The preview reuses the existing sanitized Markdown preview pipeline and renders inside a sandboxed iframe instead of injecting generated HTML into Angular templates.