Text Tools
CSV to Markdown table converter.
Paste CSV, TSV, semicolon-separated data or cells copied straight from Excel and get a GitHub Flavored Markdown table, with column alignment and pipes escaped. Nothing leaves your browser.
Input
Markdown table
Paste data to see the Markdown table.
About this CSV to Markdown table converter
A GitHub Flavored Markdown (GFM) table has one header row, a delimiter row, and zero or more data rows, with cells separated by pipes. This tool builds that structure from delimited text and applies the rules from the GFM specification.
Worked example
Input (comma-separated, one quoted field containing a comma and a pipe):
Item,Qty,Price
Widget,4,9.99
"Gadget, Pro | v2",12,129.50
Output with auto alignment (numeric columns right-aligned, text columns left unspecified):
| Item | Qty | Price |
| ----------------- | --: | -----: |
| Widget | 4 | 9.99 |
| Gadget, Pro \| v2 | 12 | 129.50 |
Rules applied (GFM spec, section 4.10)
- Delimiter row. Each cell is hyphens with an optional leading and/or trailing colon:
:---left,:---:center,---:right,---unspecified. - Header must match. The header row and delimiter row must have the same number of cells, or the text is not recognised as a table. This tool sizes the table to the widest row so no data is lost and fills short rows with empty cells.
- Pipes in cells. A literal pipe in cell content is written as
\|, which the converter does for you. - No block content. A cell is a single line, so line breaks inside a quoted CSV field are written as
<br>. Whether<br>renders depends on the platform; GitHub renders it. - Header is required. A GFM table cannot omit its header row, so choosing “first row is data” emits a blank header.
Delimiter detection
Auto-detect looks at the first non-empty line, ignoring anything inside double quotes. If it contains a tab, tab wins (this is what Excel and Google Sheets put on the clipboard). Otherwise the most frequent of comma, semicolon and pipe wins, with comma winning ties. Semicolons are common in CSV exported from locales that use a decimal comma. Pick the delimiter manually if a one-column file confuses detection.
Limits
- Padding lines columns up by character count. Emoji, CJK and combining characters can look misaligned in a monospace font, but the table still renders correctly.
- Cell text is passed through as Markdown. If a cell contains
*,_or backticks they will be interpreted by the renderer; escape them yourself if you want them literal. - Auto alignment right-aligns a column only when every non-empty body cell is a plain number (optional sign, digits, thousands commas or a decimal point); the choice is a convenience, not part of the spec.
FAQ
How do I turn an Excel sheet into a Markdown table?
Select the cells in Excel, copy, and paste here. The clipboard text is tab-separated and is detected automatically.
Why is my table showing as plain text?
Usually the header and delimiter rows have different cell counts, or there is no blank line before the table. Some renderers (strict CommonMark without the table extension) do not support tables at all.
Is my data uploaded?
No. Conversion runs in your browser and nothing is sent to a server.
Source
- GitHub Flavored Markdown Spec, section 4.10 “Tables (extension)”: github.github.com/gfm, examples 198–205. Read on 2026-10-01.
- RFC 4180, Common Format and MIME Type for CSV Files, for quoted fields: rfc-editor.org/rfc/rfc4180.