How to use the CSV & Excel to Markdown Table
- Copy cells from Excel or Google Sheets and paste them, open a CSV / XLSX / JSON file, or load the sample.
- Choose the column alignment — Auto right-aligns numeric columns.
- Keep Pad columns on for a table that is readable in plain text, or off for the shortest output.
- Copy the Markdown into your README, issue, pull request or docs.
What is a Markdown table?
Markdown tables are part of GitHub-Flavored Markdown (GFM) and supported by GitHub, GitLab, Bitbucket, Notion, Obsidian, Docusaurus, MkDocs and most static site generators. A table is a header row, a delimiter row of dashes and one line per row, with cells separated by pipes:
| plan | users | price |
| :--- | ----: | ----: |
| free | 120 | 0 |
| pro | 48 | 49 |
Alignment syntax
| Delimiter cell | Alignment |
|---|---|
:--- | Left |
:---: | Center |
---: | Right |
--- | Renderer default (usually left) |
Auto mode right-aligns columns that contain only numbers, so values line up by their last digit, and left-aligns everything else.
Characters that break tables
- Pipes (
|) inside a cell would start a new column, so they are escaped as\|. - Line breaks end a table row in Markdown. They are converted to
<br>(which GitHub renders) or to spaces. - Backslashes are escaped so they appear literally.
Why pad the columns?
Padding adds spaces so every column has the same width in the source. Renderers ignore it, but it makes the raw file readable in code review and diff tools. Turn it off for the most compact output — for example when cells contain long text that would make each line very wide.
Starting from JSON? JSON to Markdown Table has options for nested data. Need HTML instead? Try the HTML table generator.
Tools that pair well with the CSV & Excel to Markdown Table
- Excel to JSON — Open an .xlsx workbook or paste cells straight from Excel or Google Sheets and get clean JSON.
- JSON to Excel — Turn a JSON array into a real Excel workbook.
- CSV & Excel to SQL — Paste CSV or Excel cells, or open an .xlsx file, and get ready-to-run CREATE TABLE and INSERT statements with correctly escaped values for your database.
- JSON to SQL — Paste a JSON array and get SQL that creates the table and inserts every object as a row — nested objects become columns or JSON values, and every string is escaped for your dialect.
Frequently asked questions
How do I paste an Excel table into GitHub?
Can a Markdown table have no header?
Can cells contain line breaks?
<br>, which GitHub and most renderers display as a new line inside the cell.