search

Found

info Overview

Paste CSV and convert it to a GitHub-flavored Markdown table. Supports comma, tab, semicolon, and pipe delimiters plus an optional header row.

📘 How to Use

  1. Paste your CSV data into the input box
  2. Pick the delimiter (comma, tab, semicolon, or pipe)
  3. Toggle whether the first row is a header
  4. Read the generated Markdown table

CSV to Markdown Table Converter

Delimiter
0 rows
Copied!
Article

CSV to Markdown Table Converter | Drop a Spreadsheet Into Your README

Turn data copied from Excel, Google Sheets, or a raw CSV file into a GitHub-flavored Markdown table you can paste straight into a README, issue, or wiki. Handles comma, tab, semicolon, and pipe delimiters, and parses quoted fields correctly.

💡 About this tool

Writing a Markdown table by hand is the kind of busywork that eats five minutes and breaks your concentration. You add a pipe between every column, remember the --- separator row, and count cells so the columns line up. For three rows it is fine; for twenty rows you will miscount a pipe somewhere and spend longer debugging the table than writing the content.

Paste your data here instead. When you select a range in a spreadsheet and copy it, most apps put it on the clipboard as tab-separated values, so choosing Tab lets you paste a selection directly without exporting a file first. Use Comma for a CSV opened in a text editor, Semicolon for the European CSV variant that locale settings produce, and Pipe for data you already keep in pipe-delimited form.

A value that contains the delimiter itself — like "Portland, OR" — stays a single cell as long as it is wrapped in double quotes, following the same quoting rules CSV uses everywhere. Any literal | inside a cell is escaped to \| so it does not split your Markdown table. Turn off Use first row as header and the tool emits generic Col 1, Col 2 headings and treats every line as data.

🧐 Frequently Asked Questions

Where can I paste the result? Anywhere that supports GitHub Flavored Markdown (GFM) tables: GitHub, GitLab, Reddit, Obsidian, Notion, Discord, and most static-site generators.

What if rows have different column counts? The tool pads short rows with empty cells to match the widest row. Markdown tables require every row to have the same number of columns, so this normalization keeps the table from rendering broken.

Can I paste an Excel selection directly? Yes. Copying cells from Excel or Sheets puts tab-separated text on the clipboard, so set the delimiter to Tab and paste.

Does it handle line breaks inside a cell? Each line of input is treated as one record, so a cell containing a newline is split into separate records. Flatten multi-line cells to a single line first, or replace the break with <br>.

Is there a row limit? There is no hard cap, but pasting many thousands of rows can make the input box sluggish. Trim large datasets to the range you actually need before pasting.

📚 Fun Facts

Markdown tables were never part of John Gruber's original 2004 spec — they arrived later through extensions like PHP Markdown Extra and GitHub Flavored Markdown. That is why a table that looks perfect on GitHub can render as raw pipes on a vanilla Markdown parser that does not implement the GFM table extension.

The --- separator row also controls column alignment through colon placement: :--- left-aligns, ---: right-aligns, and :---: centers. This tool outputs the plain --- form (default left alignment), so if you want a numeric column right-aligned, add the colons to the separator row after copying.