Markdown Table Formatter & Validator

Last updated:

Paste a GFM Markdown table, realign its columns or convert it to JSON — correctly ignores a "|" inside inline code, so a cell like `a|b` doesn't get split apart. All in your browser, nothing uploaded.

How it works

  • Format realigns every column to its widest cell and normalizes the delimiter row’s alignment markers (---, :---, ---:, :---:) — the usual “tidy up a messy table” job.
  • To JSON converts each body row into an object keyed by the header row, giving you an array of records.
  • A | inside inline code isn’t treated as a column separator — a cell like `a|b` stays one cell, exactly how GFM itself renders it. Splitting naively on every | would silently corrupt any cell documenting a CLI flag or regex with a pipe in it, which is common enough that getting this right matters. A genuinely escaped pipe (\|) outside a code span is also handled — unescaped for To JSON, and re-escaped back to \| on Format (never raw inside a code span, where a backslash would become literal text instead of an escape).

A row with the wrong number of columns doesn’t block Format or To JSON — a short row’s missing cells are treated as empty, a long row’s extra cells are dropped, exactly how GFM renders it — but you’ll see a note above the output. A duplicate header name gets the same treatment, since To JSON would otherwise silently collapse those columns (last one wins). Both ARE hard failures on Validate, whose whole job is catching this kind of structural mistake.

Runs entirely in your browser — nothing you paste here is uploaded, logged, or stored.

🔧 Also try: JSON Formatter → 📰 Also try: Markdown Front-matter Formatter →