Markdown table formatter
Paste a table in any shape — ragged Markdown, a spreadsheet copy, CSV, HTML, JSON — and get a clean one back. Convert between formats, set column alignment, sort, or transpose, all live.
Your text never leaves your browser.
Result
No input yet.
Preview
Why this needs more than a pipe-splitter
A table looks simple until you have to parse it. A pasted Markdown table can have pipes inside inline code (`a|b`) that must not split the row, or an escaped \|that must. A pasted spreadsheet range arrives as tab-separated text with no visual markers at all. A CSV field can legitimately contain a comma, a quote, and a line break, all inside one cell — split(',') breaks the moment any of those show up. This tool's CSV parser is a small state machine that tracks whether it's inside a quoted field, specifically so those cases round-trip correctly instead of silently corrupting a column.
Alignment is measured in display width, not character count
Padding a Markdown table so its pipes line up requires knowing how wide each cell actually renders. CJK characters and most emoji are twice as wide as a Latin letter on screen, so padding by .length produces a table that looks aligned in the code and ragged everywhere else. This tool measures East Asian Width and common emoji ranges separately from character count, so a table with Japanese names in one column and English text in another lines up the way it will actually be read.
Auto-detection is a guess, shown as a guess
Telling Markdown, CSV, and tab-separated spreadsheet paste apart from a few lines of text is inherently ambiguous — a single-column list looks identical in all three. The detected format is always shown next to the input, and it's one dropdown click to override it, rather than a silent wrong guess turning your data into an unreadable single cell.
What "colspan ignored" means
HTML tables can merge cells with colspan and rowspan, which have no equivalent in Markdown, CSV, or any of the other formats here. Rather than guess at how to flatten a merged cell — which is a real judgment call with several defensible answers — this tool reads each cell as an ordinary single-column cell and says so with a visible warning, so you know to check the columns line up rather than trusting a silently wrong table.