{{ summaryTitle }}
{{ summaryPrimary }}
{{ summaryLine }}
{{ badge.label }}
Markdown table generator inputs
Paste rows from a spreadsheet export, database query, or existing pipe table.
{{ fileStatus || 'Drop CSV, TSV, TXT, or MD onto the textarea.' }}
Auto detects a header-like first row, or you can force source row 1 as headers.
Use Auto for pasted spreadsheet data; choose Pipe when editing an existing Markdown table.
Auto is usually best for docs because numeric columns scan cleanly without hand tuning.
Keep on when values may contain code snippets, options, or paths with pipe characters.
{{ escape_pipes ? 'On' : 'Off' }}
Readable is easier to review in README diffs; compact is better for generated snippets.
Leave on for pasted spreadsheets; turn off only when leading or trailing spaces are meaningful.
{{ trim_cells ? 'On' : 'Off' }}
On keeps Markdown output concise while still preserving empty cells inside non-empty rows.
{{ skip_empty_rows ? 'On' : 'Off' }}
Optional per-column rules beat the global alignment mode.
Keep the page responsive for large pasted tables without trimming exports.
rows
{{ markdownOutput }}
# {{ header.label }} Copy
{{ row.index }} {{ cell }}
No parsed rows to preview.
Column Header Alignment Type Max width Fill Note Copy
{{ row.index }} {{ row.header }} {{ row.alignment }} {{ row.type }} {{ row.maxWidth }} {{ row.fill }} {{ row.note }}
No column audit rows.
{{ jsonOutput }}
Customize
Advanced
:

Introduction

Markdown tables turn plain rows into a readable grid for READMEs, release notes, runbooks, and issue comments. They are compact enough to live in source control, but they become fragile when pipes, separator rows, or column counts are typed by hand.

Delimited rows converted into a Markdown pipe table with a header and separator row

Pipe-table syntax is common in GitHub-flavored Markdown. It needs a header row, a delimiter row, and then zero or more data rows. That makes it a good fit for small comparison tables, status lists, option matrices, and documentation extracts that should remain readable in plain text.

Markdown table support is not universal. GitHub-flavored Markdown defines tables as an extension, while CommonMark core does not include pipe tables as a base block type. A table that renders in one destination can appear as plain text somewhere else, so the destination renderer still matters.

Technical Details:

A pipe table is built from delimited cells. Each output row starts and ends with a pipe, cells are separated by pipes, and the second row uses hyphen markers with optional colons to signal alignment.

The transformation is deterministic once the delimiter, header rule, cleanup options, and alignment rule are chosen. Quoted CSV-style fields are parsed so delimiters inside double quotes do not split a cell, and literal pipe characters inside cells can be escaped as \| so they do not become new columns.

Transformation Core:

Markdown table transformation rules
Stage Rule Result to Check
Delimiter selection Auto scores comma, tab, semicolon, and pipe separators across the first non-blank sample rows, or uses the selected delimiter directly. The summary badge names the resolved delimiter, such as Auto: Comma.
Header decision Auto treats the first row as headers when cells are non-empty, mostly non-numeric, and unique. Manual modes can force row one or generate Column 1 style headers. The summary line reports source row 1 or generated headers.
Row normalization Markdown separator rows are ignored, empty rows can be skipped, and shorter rows are padded to the widest row count. Table notes reports ragged rows and generated headers.
Alignment Auto right-aligns columns where at least two thirds of non-empty values are numeric. Overrides such as Status:center or 4:right beat the global mode. Column Audit shows alignment, inferred type, maximum width, fill percentage, and notes.
Markdown output Readable mode pads cells to align raw text columns. Compact mode emits shorter Markdown without extra padding. Markdown Table is the copy-ready pipe-table output.

Source files are read in the browser and are limited to 4 MB. The parsed grid, column audit, JSON payload, and Markdown output all come from the same parsed rows, so a warning in one tab should be treated as evidence for the others too.

The table result does not validate the meaning of the data. It confirms that rows were parsed into a grid, headers were chosen, and alignment markers were generated under the current settings.

Everyday Use & Decision Guide:

Start with Delimiter set to Auto detect, Header row set to Auto detect, and Column alignment set to Auto by content. That first pass is usually enough for spreadsheet exports and copied CSV snippets.

Use Pipe as the delimiter when repairing an existing Markdown table. Turn Escape pipes on when cells may contain command alternatives, regular expressions, paths, or inline code that includes the | character.

  • Check Table notes before copying output; ragged rows mean at least one source row did not match the widest row.
  • Open Parsed Grid when a comma inside a name, quoted phrase, or pasted value might have split the row incorrectly.
  • Use Alignment overrides for columns such as Status:center when automatic numeric detection is not the right visual choice.
  • Raise Preview rows only when you need to inspect more parsed rows; exports still use the full table.

A clean Markdown table is not proof that the publishing target supports tables. Paste a small sample into the target renderer when documentation must work outside GitHub-style Markdown.

Step-by-Step Guide:

  1. Paste rows into Source table, or use Browse CSV to load a CSV, TSV, TXT, or MD file under the browser-side size limit.
  2. Choose Header row. If the first row is data, choose Generate Column 1 headers and confirm that the generated headers appear in the summary line.
  3. Leave Delimiter on Auto detect for spreadsheet exports, or choose Pipe for an existing Markdown table.
  4. Set Column alignment, then add any Alignment overrides in Advanced when individual columns need different markers.
  5. Review Table notes and Column Audit. If rows were padded, fix the source or confirm that blank cells are expected.
  6. Copy the text from Markdown Table after the parsed grid matches the source data.

Interpreting Results:

Markdown table ready means the source text produced at least one header and a consistent output grid after padding. It does not mean every source row was originally balanced.

The most important warning is the ragged-row note. If it reports that rows were padded, open Parsed Grid and compare the row numbers against the original source before publishing.

Use Column Audit to verify numeric alignment and fill rate. A mostly empty column or an unexpected text type can point to a delimiter mistake, a quoted-field problem, or a header row that was guessed incorrectly.

Worked Examples:

A CSV source such as Feature,Owner,Status,Impact followed by three data rows should resolve to comma input, source-row headers, and four output columns. Impact remains left-aligned unless its values are mostly numeric.

A source row like "North, APAC",Lina,Ready keeps North, APAC as one cell because the comma is inside a quoted field. If quotes are missing, the parsed grid shows an extra column and Table notes reports padded rows.

An existing pipe table with a separator row can be pasted back into Source table with Delimiter set to Pipe. The Markdown separator row is ignored during parsing, then a fresh separator row is generated from the current alignment settings.

FAQ:

Why did the generator add Column 1 headers?

The first row was treated as data by the selected Header row rule. Choose Use first row if row one should be the header.

Why are some rows padded with blank cells?

At least one row had fewer cells than the widest row. The output keeps the table rectangular, and Column Audit helps you find which columns are sparse.

Should pipes inside cells be escaped?

Yes when the pipe is literal cell text. With Escape pipes on, A|B becomes A\|B so the renderer does not split it into two cells.

Does uploaded table data leave the browser?

The file reader loads CSV, TSV, TXT, or MD content into the page for browser-side parsing. The description does not show any server upload path for source table content.

Glossary:

Delimiter
The character that separates cells in the source rows, such as comma, tab, semicolon, or pipe.
Header row
The row that names the table columns and appears above the Markdown delimiter row.
Delimiter row
The Markdown row of hyphens and optional colons that separates headers from data.
Ragged row
A source row with more or fewer cells than the final column count.

References: