Paste CSV or upload a file and get a GitHub-flavored Markdown table instantly. The delimiter is detected automatically, columns are padded so the table lines up in plain text, and you can set each column to left, center or right alignment while watching the rendered preview.
Last updated:
Preview & column alignment
Advertisement
Advertisement
How to use the CSV to Markdown Table
Paste your CSV into the input box, or upload or drop a .csv, .tsv or .txt file. Data copied from Excel or Google Sheets (tab-separated) works too.
Check the delimiter. It is detected automatically; choose one manually if the preview looks wrong.
Set the header and alignment. Use the first row as the header, and pick left, center or right for each column above the preview.
Pick pretty or compact output. Pretty pads every column to the same width for readable source.
Copy or download the Markdown and paste it into a README, GitHub issue, wiki or documentation page.
Markdown table syntax
A GitHub-flavored Markdown (GFM) table is a header row, a separator row and any number of body rows, with cells separated by pipes:
The colons in the separator row set the alignment of each column. The spaces used to line columns up are optional: renderers ignore them, but they make the table far easier to read and review in plain text, in diffs and in pull requests.
Separator
Alignment
Typical use
---
Default (usually left)
General text
:---
Left
Names, descriptions
:---:
Center
Short status values, icons, ratings
---:
Right
Numbers and prices, so decimals line up
Limits of Markdown tables
One line per row. Cells cannot contain real line breaks, so they are written as <br>, which GitHub and most renderers display as a new line.
No merged cells. GFM has no colspan or rowspan. Repeat the value or leave cells empty.
A header is required. Every GFM table needs a header row; when your CSV has none, generic "Column 1, Column 2" headers are added.
Pipes must be escaped. A literal | inside a cell is written as \|. Inline Markdown such as **bold**, `code` and links still works inside cells.
Big tables get unwieldy. Beyond a few dozen rows or very wide columns, consider linking to the CSV file instead; GitHub renders .csv files as searchable tables on its own.
Frequently asked questions
How do I make a Markdown table from CSV?
Paste the CSV here. Each CSV row becomes a table row with cells separated by | characters, and a separator row such as | --- | --- | is added under the header. Copy the result into any Markdown file that supports GitHub-flavored tables.
How does column alignment work in Markdown?
Alignment is set in the separator row under the header: :--- aligns left, :---: centers and ---: aligns right. A plain --- uses the renderer's default, which is usually left. Choose the alignment per column with the selectors above the preview.
What happens to commas, quotes and pipes inside cells?
Quoted CSV fields such as "Smith, John" stay in one cell and doubled quotes "" become a single quote. A | inside a cell would break the Markdown table, so it is escaped as \|. Line breaks inside a cell become <br> because Markdown table cells must be on one line.
Can I paste data from Excel or Google Sheets?
Yes. Copying cells from a spreadsheet puts tab-separated text on the clipboard. Paste it and the tab delimiter is detected automatically.
My CSV has no header row. What should I do?
Turn off Use first row as header. Markdown tables require a header, so the tool adds a generic one (Column 1, Column 2, ...) that you can edit afterwards.
Which sites render these tables?
GitHub, GitLab, Bitbucket, Gitea, Obsidian, Notion import, Docusaurus, MkDocs, Jekyll (kramdown), Hugo and most Markdown editors support pipe tables. Original Markdown.pl does not, so check your renderer if it shows raw pipes.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.