Conversion Tools

Markdown Table Generator

This free Markdown Table Generator turns CSV, or cells pasted from Excel or Google Sheets, into an aligned Markdown pipe table: the first row becomes the header, a divider row is added automatically, and each column is padded to its widest cell. Edit cells in a grid, add rows and columns, and set left, center or right alignment. Everything runs in your browser.

Runs in your browser. Your files and text never leave your device - nothing is uploaded.

Edit the table

Create a Markdown Table From CSV in Seconds

The Tools Kit’s free Markdown Table Generator turns CSV, or cells copied from Excel or Google Sheets, into a ready-to-paste Markdown table. Paste your rows above, with the column names on the first line, edit any cell in the grid, and the table is built as you type: pipes between cells, a dashed divider under the header, and every column padded so the raw Markdown lines up as neatly as the rendered table.

It is the quick way to make a table for a README, a GitHub issue, or project documentation without counting pipes and dashes by hand. Everything runs in your browser, so the data you paste never leaves the page.

How to Use the Markdown Table Generator

  1. 1

    Paste or type your data

    Paste CSV, or cells copied straight from Excel or Google Sheets, with the column names on the first line. The delimiter is detected automatically, and spaces around each value are trimmed.

  2. 2

    Edit the table and set alignment

    Fix any cell in the grid, add or remove rows and columns, and choose Left, Center or Right alignment for each column.

  3. 3

    Check the generated Markdown

    The Markdown table appears below the input as you type, with a dashed divider row under the header and every column padded to its widest cell.

  4. 4

    Copy the table

    Click Copy Markdown and paste the table into a README, a GitHub issue or pull request, documentation, or any Markdown editor.

There is no generate button, account, or limit on how many tables you make.

Markdown Table Syntax Explained

A Markdown table has three parts: a header row, a divider row made of dashes, and the body rows. Cells are separated by the pipe character. Here is the sample data the tool starts with and the exact table it produces:

Name, Age, City
Alice, 30, New York
Bob, 25, London
| Name  | Age | City     |
| ----- | --- | -------- |
| Alice | 30  | New York |
| Bob   | 25  | London   |

The Name column is five characters wide because “Alice” is its longest value, City is eight wide for “New York”, and Age is three wide even though no value is longer than three characters, because three is the minimum column width. The divider row repeats dashes to the same width. Markdown renderers ignore the padding; it only exists to make the source readable and diff-friendly. If you want the rendered result as a web page, run the copied table through the Markdown to HTML converter to get the matching <table> markup.

How the Generator Handles Commas, Ragged Rows and Pipes

Each line is split on the delimiter, which is detected for you: tabs when you paste from a spreadsheet, otherwise commas (or semicolons, if there are more of them). A CSV value in double quotes, such as “Paris, France”, stays in one cell. If you need the same rows as structured data rather than a table, the CSV to JSON converter turns simple comma-separated lines into a JSON array.

The widest row decides how many columns the table has. Rows with fewer values are padded with empty cells, and a value past the last header column gets a column of its own with an empty header, ready to name in the grid. For example:

ID, Plan
1, Pro, extra
2
| ID  | Plan |       |
| --- | ---- | ----- |
| 1   | Pro  | extra |
| 2   |      |       |

A pipe character inside your data is escaped automatically as \|, so a renderer shows it instead of starting a new cell. Blank lines in the middle of the input become empty rows; remove them with the × button in the grid. If the same record appears more than once, the duplicate line remover clears the repeats first. And if your column names are in a vertical list, the line break remover can join them with a comma and space into a single header line ready to paste here.

Getting Data Into the Right Shape

Cells copied straight from a spreadsheet work as they are, and so do CSV, semicolon-separated exports and existing Markdown tables (choose Pipe). If your data starts life as a JSON array, convert it with the JSON to CSV converter and paste the result here (any value that contained a comma comes out wrapped in double quotes, so tidy those cells first). For the rest of a page or document, the HTML to Markdown converter and the PDF to Markdown converter handle headings, text and formatting; they do not rebuild tables, so recreate any table here. More format tools are collected on the conversion tools page.

Set alignment with the menu above each column: Center writes :---: in the divider row and Right writes ---:, which is useful for number columns. Default keeps plain dashes, which most renderers show left aligned.

Common uses

  • Adding a feature or pricing comparison table to a GitHub README
  • Documenting API parameters, environment variables, or config options in a pull request
  • Writing release notes or changelogs that list versions against changes
  • Turning a short CSV export into a table for a wiki, Obsidian note, or static-site page
  • Sharing benchmark or test results in an issue where the table needs to be readable

Markdown table terms explained

TermWhat it means here
Pipe ( | )The vertical bar that separates cells in a Markdown table; each row starts and ends with one in this tool’s output
Header rowThe first row of the table, holding the column names; here it is always the first line you type
Divider (delimiter) rowThe line of dashes directly under the header that tells a Markdown renderer the table has started
Alignment colonA colon added to a divider cell (:--- , :---: , ---:) to left, center or right align a column; set it per column in the grid
GFMGitHub Flavored Markdown, the Markdown dialect that popularized pipe tables and is used on GitHub, GitLab and many editors
CSVComma-separated values; this tool reads it including double-quoted fields, as well as tab, semicolon and pipe-separated data

Frequently Asked Questions

Reviewed by Raja Jahangir · Last reviewed: October 7, 2026

How do you create a Markdown table from CSV data?

To create a Markdown table, paste CSV or cells copied from a spreadsheet with the header on the first line, such as Name, Age, City. The table is generated instantly with pipe delimiters, a dashed separator row, and columns padded to their longest cell. Edit cells in the grid and set each column left, center or right aligned.

Sources and standards