Paste a table from ChatGPT, Claude, a terminal, or an email. The tool evens out the column counts, rebuilds the separator row, and exports Markdown, CSV, TSV, or HTML.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsRepair log
- Data row 2: 2 → 3 columns (added empty cells)
- Data row 3: 4 → 3 columns (merged extra cells into the last column)
- Data row 4: 2 → 3 columns (added empty cells)
Columns
3
Rows
5
Rows fixed
3
TIP
If a row had extra cells merged, a stray pipe inside a cell may have split it. Check the merged cells, and write a literal pipe as \| in your source so it stays in one cell.
| Feature | Details | Notes |
|---|---|---|
| Plan | Basic | $9.99 per month |
| Users | 1 | |
| Storage | 10 GB | Add-ons available Max 50 GB |
| Support | Email only |
| Feature | Details | Notes | | ------- | ---------- | --------------------------- | | Plan | Basic | $9.99 per month | | Users | 1 | | | Storage | 10 GB | Add-ons available Max 50 GB | | Support | Email only | |
Why AI-Generated Markdown Tables Break
Tables written by ChatGPT, Claude, and other chat tools often come out with rows that have different numbers of cells, a separator row (| --- | --- |) that is missing or has the wrong length, or +---+ style borders mixed in. Renderers such as GitHub then show the table as plain text or drop cells.
This tool counts the cells in every row and uses the most common count as the target. Short rows get empty cells, and long rows have their extra cells merged into the last column. If there is no separator row, it creates one. If the separator row has colons, it reads the left, center, and right alignment from them.
When the table is fixed, copy it as Markdown for a README or doc, as CSV or TSV for a spreadsheet, or as an HTML table for a web page.
Where Broken Tables Show Up
A ChatGPT or Claude table headed for a README
Check the table before you commit it. If one row has a stray pipe or the separator row is missing, GitHub may show plain text instead of a table.
An AI table you want in a spreadsheet
Switch the output to CSV or TSV and copy it. The cells are split on commas or tabs, so you do not paste pipes and dashes into your sheet.
A text table from a terminal, email, or chat
Paste output with +---+ borders or box-drawing lines. The borders are removed and the rows are rebuilt as a clean table.
Several tables from one AI answer
Paste them all, separated by blank lines. Each table gets its own tab, so you can check the repair log and export them one by one.
How to Fix a Misaligned Table in 4 Steps
- Paste the table into the box, or click Load broken sample to see an example.
- Leave the delimiter on Auto-detect, or switch to Pipe, Tab, or Comma if the guess is wrong.
- Read the repair log to see which rows changed, and check the preview.
- Click the column numbers to set alignment, pick Markdown, CSV, TSV, or HTML, then copy or download the result.
Note: Everything runs in your browser. Your table is not sent to a server.
Limits to Know Before You Copy the Result
- The tool fixes structure only. It trims spaces around cells but does not change what the cells say.
- The first row is always treated as the header. If your table has no header, add one before you paste it.
- Extra cells are merged into the last column, which keeps the data but may not match your intent. If a stray pipe split a cell, escape it as \| in the source.
- A blank line ends a table. If one table contains a blank line, the tool reads it as two tables.
- Auto-detect picks pipes if at least half the lines contain one, then tabs, then commas, and otherwise splits on two or more spaces.
Common Table Errors, Causes, and Fixes
The patterns this tool looks for, and what it does with each one.
| Problem | Likely cause | What the tool does |
|---|---|---|
| Rows have different cell counts | A missing pipe, an extra pipe, or a pipe character inside cell text | Uses the most common count; adds empty cells to short rows and merges extra cells in long rows |
| Separator row is missing or the wrong length | The row was skipped, or it has a different number of cells than the header | Generates a separator row that matches the column count |
| Borders such as +---+ or ─┼─ in the text | A table copied from a terminal or a plain-text document | Removes the border lines and reads │ as a pipe |
| Uneven spacing around pipes | Cells edited by hand or pasted from different sources | Trims every cell and can pad columns to equal width |
| Pipes, tabs, and commas mixed together | Parts of the table came from different places | Detects the delimiter for each table, or lets you force Pipe, Tab, or Comma |
Why Your Table Renders as Plain Text
Four rules of pipe tables that explain most rendering problems.
The header row and the delimiter row must have the same number of cells
In GitHub Flavored Markdown, if the header row and the delimiter row (| --- | --- |) have different cell counts, the table is not recognized. This is the most common reason a pasted table shows as raw text.
Other rows can differ, but the result is still wrong
Body rows with fewer cells are filled with empty cells, and extra cells are usually not shown, so their data is lost. This tool merges extra cells into the last column instead of dropping them, so you can see what was there.
Tables are an extension, not core Markdown
Pipe tables come from GitHub Flavored Markdown, not from the core CommonMark spec. If a table works on GitHub but not elsewhere, check whether that renderer supports GFM tables.
A pipe inside a cell starts a new cell
To show a literal pipe in a cell, escape it with a backslash (\|). This tool keeps escaped pipes inside their cell and re-escapes them in Markdown output.
Mistakes That Break a Table Again
Committing a table that shows as plain text
You paste an AI table into a README without checking it. The separator row is missing, so GitHub shows lines of pipes instead of a table.
💡 See the solution▼
Pasting Markdown into a spreadsheet
You copy a Markdown table into a spreadsheet, and the pipes and the --- row come along as text in the cells.
💡 See the solution▼
Fixing long tables by hand
You scan a long table for rows with the wrong number of cells and miss one, so the table stays broken.
💡 See the solution▼
Leaving a literal pipe unescaped
A cell contains text such as a | b. The pipe splits it into two cells, and every column after it shifts.
💡 See the solution▼
Questions About Fixing Pipe Tables
Q.Why is my Markdown table not rendering?
A. In GitHub Flavored Markdown, the header row and the delimiter row (| --- | --- |) must have the same number of cells. If they do not, the table is not recognized and the text shows as plain lines. A missing delimiter row causes the same problem. Paste the table here and the tool rebuilds the delimiter row to match the column count.
Q.How does the tool decide how many columns the table has?
A. It counts the cells in every row, including the header, and uses the most common count. If two counts tie, the larger one wins. A row with fewer cells gets empty cells added at the end. A row with more cells has its extra cells joined with a space and merged into the last column. The repair log lists every row that changed.
Q.What happens if the separator row (---) is missing?
A. The tool treats the first row as the header and generates a separator row with the right number of columns. If a separator row is present and uses colons (:---, :---:, ---:), those alignments are kept.
Q.Can I turn an ASCII table with +---+ borders into a Markdown table?
A. Yes. Lines made only of +, -, =, spaces, or box-drawing characters (such as ─ and ┼) are removed as borders, and vertical box-drawing characters (│) are read as pipes. The remaining rows are rebuilt as a Markdown table. The repair log shows how many border lines were removed.
Q.Which output formats are available?
A. Markdown, CSV, TSV (tab-separated), and an HTML table. CSV cells are wrapped in double quotes when they contain a comma, a quote, or a line break. In TSV, tab characters inside a cell are replaced with a space. In HTML output, special characters such as < and & are escaped.
Q.How do I set left, center, or right alignment for a column?
A. Click the numbered button for a column above the preview. Each click cycles through default, left, center, and right. Markdown output writes the choice into the delimiter row (:---, :---:, ---:), and HTML output adds a text-align style. CSV and TSV have no alignment, so they ignore it.
Q.Can I fix more than one table at once?
A. Yes. Separate the tables with a blank line. Each one gets its own tab (Table 1, Table 2, and so on), and you copy or download one table at a time. Do not leave a blank line inside a single table, because the tool will split it into two.
Q.How do I keep a pipe character inside a cell?
A. Write it as \| in the source. The tool keeps it as one character inside the cell and escapes it again in Markdown output. An unescaped pipe always starts a new cell.
Q.Is my table sent to a server?
A. No. Parsing, repair, and export all run in your browser, and the tool makes no network request with your text.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.