Paste CSV data or drop a .csv file to get a GitHub-flavored Markdown table. The delimiter (comma, semicolon, or tab) is auto-detected with a manual override, quoted fields with embedded commas and line breaks are handled correctly, and pipes in cell values are escaped. Set left, center, or right alignment per column, and keep pretty-printing on to pad cells so the pipes line up in the raw text. All processing happens locally in your browser. Building a table from scratch instead? Try the Markdown Table Generator, or go the other direction with CSV ↔ JSON.
CSV → Markdown Table
Convert CSV data into a GitHub-flavored Markdown table
Markdown table will appear here...Frequently asked questions
What Markdown table syntax does this tool generate?
GitHub-flavored Markdown (GFM) tables: a header row, a separator row of dashes, and one line per data row, with cells separated by pipe characters. This syntax is supported by GitHub, GitLab, Bitbucket, Obsidian, Notion, Discord, and most other Markdown renderers that implement the GFM tables extension.
How does column alignment work in Markdown tables?
Alignment is set per column with colons in the separator row: :--- aligns left, :---: centers, and ---: aligns right. Pick an alignment for each column in the tool and the separator row is generated for you. Renderers that do not support alignment simply fall back to left-aligned columns.
What happens to pipes, commas, and line breaks inside my CSV cells?
Pipe characters would break the table structure, so they are escaped as \|. Commas inside quoted CSV fields are handled by the CSV parser and pass through unchanged. Line breaks inside a quoted cell become <br> tags, since a Markdown table cell must stay on a single line — most renderers, including GitHub, display <br> as a line break inside the cell.
Does my CSV data leave my browser?
No. Parsing and conversion run entirely in your browser with JavaScript — nothing is uploaded to a server, and there is no signup.
Get weekly dev tools and tips