Paste CSV / TSV

Markdown table

Turn a table copied from a spreadsheet (Excel or Google Sheets) or a CSV file into a Markdown pipe table you can paste straight into a README, issue, pull request or doc. The delimiter can be a comma (CSV), a tab (TSV) or a semicolon, and "Auto-detect" infers it from what you paste. You can choose whether the first row is the header and set column alignment (none / left / center / right), which writes the proper Markdown alignment row (`:---` / `:--:` / `---:`) for you. Turn on "Align columns" to line up the source itself so the raw Markdown is easy to read by eye (the rendered table looks the same either way). Quoted fields that contain commas or line breaks — like `"Lovelace, Ada"` — are handled correctly (RFC 4180), and pipe characters `|` inside cells are escaped so the table never breaks. The output updates live as you type and copies with one click. Because CSV often holds sensitive data — staff lists, sales, inventory — this tool does all of its parsing and conversion entirely inside your browser, with nothing uploaded, stored or sent to a server.

How to use

  1. Copy a table from Excel / Google Sheets / a CSV file and paste it into the input box on the left (use "Sample" to try it).
  2. In the toolbar, pick the delimiter (auto-detect / comma / tab / semicolon), the column alignment, and whether the first row is the header.
  3. The Markdown table appears instantly on the right. Click "Copy" and paste it into your README or issue. Nothing you paste is sent anywhere.

FAQ

Is the data I paste uploaded anywhere?

No. Parsing and conversion run entirely in your browser with JavaScript. Your CSV/TSV is never uploaded, stored, or sent to a server, so it's safe to paste sensitive tables such as staff lists, sales or inventory.

Can I convert a table copied from Excel or Google Sheets?

Yes. When you copy a cell range from Excel or Google Sheets, the clipboard contains tab-separated values (TSV). Paste it in and set the delimiter to "Auto-detect" or "Tab (TSV)" to get a Markdown table.

What if a cell contains commas or line breaks?

Quoted fields like `"Lovelace, Ada"` are treated as a single cell, so commas and line breaks inside the quotes are not mistaken for delimiters (RFC 4180). Line breaks inside a cell become `<br>`, and pipe characters `|` are escaped automatically so the table stays intact.

Can I set column alignment?

Yes. Choosing Left, Center or Right writes the Markdown alignment row as `:---`, `:--:` or `---:`. Choosing None outputs plain `---`, which most renderers treat as left-aligned.

What does "Align columns" do?

It pads each column in the generated Markdown source so the raw text lines up and is easy to read. The rendered table looks the same whether or not you align it; padding mainly helps when reading the source or taking diffs.

How does delimiter auto-detection work?

It looks at the first line and counts commas, tabs and semicolons that are outside any quotes, then uses whichever is most common (ties prefer the comma). If it guesses wrong, just pick the delimiter manually.