LaunchRanked

CSV to Markdown table converter

Paste CSV, TSV or a range copied from a spreadsheet. Get a GFM table with the header row, alignment and escaping done for you.

Parsed with RFC 4180 rules: quoted fields can hold commas, line breaks and doubled quotes (""). Pipes become \| and line breaks become <br> so the table stays intact. Runs in your browser; nothing is uploaded.

Paste CSV on the left, or load the example. The Markdown table appears here as you type.

How the CSV is read

CSV looks simple until a field contains a comma. The parser follows RFC 4180, the informational spec most tools export to, and reads it leniently:

  • Fields in double quotes can contain commas, line breaks and doubled quotes ("").
  • Rows can end in CRLF (Windows), LF (Mac and Linux) or a lone CR (old Mac exports).
  • A byte order mark at the start (common in Excel’s “CSV UTF-8”) is removed.
  • Blank lines are skipped, and a trailing newline doesn’t add an empty row.
  • The delimiter is detected from the first rows: whichever of comma, semicolon, tab or pipe splits them into the most consistent number of columns. European exports often use semicolons because the comma is the decimal mark.

If a quote is never closed, everything after it lands in one cell. The tool warns you with the line where the quote opened.

What the table looks like

The output is a GitHub Flavored Markdown table. Tables are a GFM extension, so they render on GitHub, GitLab, most docs sites and MDX blogs, but not in a strict CommonMark renderer. A pipe in your data becomes \| and a line break becomes <br>, since a table row has to stay on one line.

Number columns can be right-aligned automatically (a heuristic: every non-empty cell looks like a number, currency or percentage), or you can set each column by hand. “Pad columns” lines the raw text up, which makes diffs easier to read. It counts characters, so emoji and wide CJK text can still look uneven in the source; the rendered table is fine.

Other data

For API responses use JSON to Markdown, and for feeds or sitemaps XML to Markdown. If the table lives on a web page, copy the page’s HTML into HTML to Markdown. Writing a post around it? The word counter and reading time calculator help with length.

Questions

Can I paste straight from Excel or Google Sheets?

Yes. Copying a range from a spreadsheet puts tab-separated text on the clipboard, and the delimiter detection picks up tabs. If it guesses wrong, choose the delimiter yourself.

How do I keep a comma or line break inside a cell?

Wrap the field in double quotes, and write a quote inside it as two quotes: "She said ""hi""". That's the RFC 4180 rule, and spreadsheet exports follow it. A line break inside a quoted field becomes <br> in the table.

What does "padded with empty cells" mean?

Some rows had fewer fields than the widest row. A Markdown table needs the same number of cells in every row, so we add empty ones at the end and tell you which lines were short. Check those lines for a missing delimiter or an unclosed quote.

Does alignment change how the table renders?

Yes. The colons in the second line (:--- left, :---: center, ---: right) tell GitHub and most renderers how to align each column. Padding columns with spaces only affects how the raw Markdown looks.

Autopilot · early access

Want this fixed automatically?

Autopilot checks your site, publishes researched articles at a safe pace, and tracks whether ChatGPT, Perplexity, Gemini and Claude cite you. $49/mo.

Related free tools

See all free tools