FORMAT MARKDOWN

Markdown Table Formatter

Align Markdown table columns, restore missing separator rows and check uneven rows. Keep cell contents and preview the repaired Markdown.

Markdown Table FormatterProcessed on your device
Clear your input to load an example.
0 words · 0 charactersOriginal kept
FORMATTED TABLE

A little order for your data.

Paste text or try the example to begin.

Your result appears here
✓ Free to use✓ Original text preserved✓ No uploads

A readable table, with the data intact.

Paste one pipe-delimited Markdown table to standardise its spacing and alignment. The first row is treated as the header. A missing separator can be restored without guessing the values in your table.

How to use Markdown Table Formatter

  1. Paste your text, or load the example into an empty workspace.
  2. Choose the cleanup options and inspect any findings or warnings.
  3. Compare the original and result, then copy or download.

What to expect

Uneven data rows stop conversion until you edit them or explicitly fill short rows with blank cells. Extra cells are never discarded. Escaped pipes and code spans are preserved; unescaped pipes inside complete code spans are escaped for GitHub-style tables. Surrounding prose, multiline cells and CSV input are not supported by this tool.

Works with up to 250,000 characters. Tables support up to 100 columns and 2,000 data rows; formatted output is limited to one million characters. Input remains in this page’s memory until you clear, reload or leave it. Word counts use whitespace-separated words and are approximate for languages without spaces.

Examples you can check

These built-in examples use the settings described below. Visible Unicode markers appear only in these explanations.

Restore a missing separator

The first row is the header. A missing separator and uneven spacing are repaired without adding cell values.

Input

| Name|Count |
| A|2|

Expected text output

| Name | Count |
| ---- | ----- |
| A    | 2     |
Try this example in the tool →

Extra data must not disappear

Three data cells under two headings stop conversion. Correct the source; extra cells are never discarded.

Input

| Name | Count |
| A | 2 | extra |

Expected behaviour

Conversion stops: correct the uneven row before copying.
Try this example in the tool →

A pipe inside code

A pipe inside a complete code span is escaped for a GFM table. An unescaped pipe in ordinary text is still a cell boundary.

Input

| Value |
| `a|b` |

Expected text output

| Value  |
| ------ |
| `a\|b` |
Try this example in the tool →

Explore all text-cleanup test cases · How we test these tools

Another way to tidy.

All tools ↗