Table to Markdown Converter
Paste a CSV, a tab-separated block, or cells copied straight from Excel or Google Sheets and get a tidy Markdown table back. You can set per-column alignment, pad the columns so the source stays readable, and decide whether the first row is a header. It updates as you type and runs locally.
How to use the Table to Markdown Converter
Paste your data into the box. By default the delimiter is auto-detected — if a tab appears the tool uses TSV (which is what Excel and Google Sheets put on the clipboard), otherwise it falls back to commas — but you can force comma, tab, semicolon, or pipe from the dropdown. The Markdown table appears below and updates as you type; press Copy Markdown to grab it.
Use Align to set the alignment for every column at once, which writes the corresponding colons into the separator row (:---, :--:, or ---:). First row is header controls whether your top row becomes the bold header row or whether a generic header is generated. Pad columns adds spaces so the columns line up in the raw text — purely cosmetic, since Markdown ignores the extra whitespace, but it keeps the source readable; turn it off for the most compact output.
Quoted CSV fields are respected, so a value like "Smith, John" stays in one cell, and any pipe characters inside your data are escaped so they do not break the table. Everything runs in your browser, so pasted data never leaves your machine.
How Markdown tables work
Markdown tables are a widely supported extension — part of GitHub Flavored Markdown and most modern parsers — that lets you write a table in plain text using pipes and dashes. A table is just rows of cells separated by |, with a special second row of dashes that marks the boundary between the header and the body. That separator row is what turns a set of pipe-delimited lines into a real table rather than literal text, and it is also where alignment is declared: a colon on the left of the dashes means left-aligned, on both sides means centered, and on the right means right-aligned.
Getting from spreadsheet data to that format by hand is tedious and error-prone, which is what a converter solves. The first job is parsing the input correctly. Comma-separated values are deceptively tricky because a field can itself contain a comma if it is wrapped in quotes — "Doe, Jane" is one cell, not two — and quotes inside a field are doubled. Data copied from a spreadsheet is usually tab-separated instead, which avoids the comma problem but needs to be detected. A good converter checks for tabs first and parses quoted CSV properly so your cells land where you expect.
The second job is escaping. Because the pipe character is the column separator, any literal pipe inside your data has to be written as \| or it will be read as a new column and shift everything after it. Line breaks inside a cell are not allowed at all in standard Markdown tables, so they are typically replaced with a space or a <br> tag. Finally, while the alignment and padding are cosmetic to a renderer — every cell could be jammed together with single pipes and it would still display correctly — padding the columns to equal widths makes the raw Markdown far easier to read and edit in a pull request or a text file, which is why most generated tables include it by default.
Common use cases
- Documentation. Drop spreadsheet data into a README, wiki, or docs page as a real table.
- GitHub issues and PRs. Paste CSV results or comparisons into a comment as a formatted table.
- Reports. Convert exported data quickly without hand-typing pipes and dashes.
- Notes. Turn copied cells from Sheets or Excel into Markdown for any note-taking app that supports it.