Runs 100% in your browser — nothing is uploaded
Converters

CSV → Markdown / HTML Table

Convert CSV into a Markdown table, an HTML table, or a padded plain-text table, live.

CSV → Markdown / HTML Table
Client-side

About this tool

The CSV → Markdown / HTML Table converter turns pasted CSV data into three different table formats: GitHub-Flavored Markdown tables (for READMEs, wikis, and PR descriptions), semantic HTML table markup (for blog posts or web pages), and plain padded ASCII tables (for terminal output or plaintext emails). Conversion happens live as you type or paste.

Toggle whether the first row of your CSV is a header row — when it's not, columns are auto-labeled Column 1, Column 2, and so on. For Markdown output, set per-column text alignment (left, center, or right), which controls the marker row that most Markdown renderers respect.

Escaping is handled per format: Markdown output escapes pipe characters so embedded pipes don't break the table structure, and converts embedded newlines to line-break tags. HTML output escapes special characters into their entity equivalents to prevent broken markup. The ASCII table pads every column to the width of its longest cell. All parsing uses PapaParse and runs entirely in your browser.

FAQ

Which Markdown table alignment syntax does this use?
Standard GitHub-Flavored Markdown alignment markers in the row beneath the header, understood by GitHub, GitLab, and most static site generators.
What happens if my CSV cell contains a pipe character or a line break?
In Markdown output, pipe characters are automatically escaped so they don't get misread as column separators, and line breaks inside a cell are converted to line-break tags.
Is the HTML output safe to paste directly into a web page?
Cell content is HTML-escaped, which prevents a stray special character in your CSV data from breaking the table markup. The output is a plain table with no styling.
What does the ASCII table format look like and where is it useful?
A padded, pipe-delimited plaintext table with a border, similar to what database CLI tools print. Useful for commit messages, plaintext emails, or terminal-based documentation.
Can I convert a CSV that has no header row?
Yes — turn off "First row is header" and every row is treated as data, with columns auto-labeled.