CSV / TSV / pipe in, GitHub-flavoured Markdown out
GitHub-flavoured Markdown supports tables via | col1 | col2 | rows separated by a | --- | --- | alignment row. Hand-typing one for a 5-column / 20-row dataset is tedious; this tool reads the input, computes per-column widths, and emits a properly padded table where every | aligns vertically in the source. The result reads cleanly both as raw Markdown and as the rendered table.
The Delimiter dropdown picks how the input columns are separated. Auto-detect (the default) sniffs the first non-empty line and picks whichever delimiter produces the most columns (tab, pipe, comma, or semicolon). Set it explicitly if your data contains tabs and commas mixed. CSV-aware quoting is honoured for comma and semicolon: "hello, world" stays as one cell.
The First Row is Header toggle is on by default. Turn it off if your input has no header row - the tool will emit Column 1, Column 2, etc. The Column Align dropdown picks the alignment marker character: :--- (left), ---: (right), :---: (center), or --- (none). Renderers honour the alignment marker; raw text is unaffected.
How to use markdown table generator
- 1Paste your CSV, TSV, or pipe-separated data into the input panel.
- 2Pick a Delimiter (or leave on Auto-detect).
- 3Toggle First Row is Header to match your data shape.
- 4Pick a Column Align: left (default), center, right, or none.
- 5Click Copy and paste the table into your README, issue, or doc.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Auto-detects the input delimiter
The first non-empty line is parsed with each common delimiter (tab, pipe, comma, semicolon) and the one producing the most columns wins. This works for clean exports; for ambiguous data, set Delimiter explicitly.
CSV-aware quoting
When the delimiter is comma or semicolon, double-quoted fields are parsed correctly: "Smith, John" stays one cell, ""hi"" decodes to "hi". Tab and pipe modes split on the literal character without quote-awareness.
Column padding for readable source
Per-column max width is computed across header + body rows; every cell is padded to its column width so the raw Markdown source has aligned | separators. The padded source is a bit longer but reads cleanly in any text editor.
Alignment markers
GitHub Markdown supports per-column alignment via the dash row (:---, :---:, ---:). The Column Align dropdown sets the same alignment for every column. Per-column alignment is not currently exposed.
Sparse row padding
Rows shorter than the widest row get padded with empty cells so every row has the same column count. Rows longer than the header get extra columns; you may want to clean those up manually.
Worked example
Auto-detected comma delimiter, header on, left-aligned. Each | aligns in the source.
name,age,city Alice,30,NY Bob,25,LA
| name | age | city | | :---- | :-- | :--- | | Alice | 30 | NY | | Bob | 25 | LA |
FAQ
Will this work in GitHub issues / Reddit / Notion?
How do I include a pipe character in a cell?
| as the column separator, so a literal pipe inside a cell needs to be escaped as \| or replaced with a Unicode pipe-like character (| fullwidth). This tool does not auto-escape pipes - clean them in the input first if needed.Can I do per-column alignment?
| :--- | :---: | ---: | to set left / center / right per column.