Markdown table generator

Paste rows copied from a spreadsheet or a CSV file and get a Markdown table that is aligned as plain text too. Switch the direction to pull the data out of an existing Markdown table as CSV.

Direction
Column alignment

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Paste CSV, tab-separated data from a spreadsheet, or a grid with columns separated by two or more spaces.
  2. Leave the delimiter on Detect, or choose one if the guess is wrong.
  3. Pick the column alignment and copy the table.
  4. To go back, choose To CSV and paste a Markdown table.

How it works

The input is split into rows and cells following the CSV quoting rules. Rows with fewer cells are filled up with empty cells so every row has the same number of columns. Each column is as wide as its longest cell, with a minimum of three characters, because the separator row needs at least ---. The separator row carries the alignment: :-- left, :-: center, --: right.

Example

Name,Age
Ann,30

becomes

| Name | Age |
| ---- | --- |
| Ann  | 30  |

Tips

  • Copying cells from Excel or Google Sheets gives tab-separated text, which Detect handles.
  • Numbers read best right-aligned.
  • Markdown tables cannot hold block content such as lists; use <br> for line breaks inside a cell.

Frequently asked questions

Which separators are understood?

Commas, tabs, semicolons, and columns separated by two or more spaces. In Detect mode a tab wins, then whichever of comma and semicolon is more frequent on the first line. Quoted CSV fields can contain the separator, quotes written as two quotes, and line breaks.

What happens to a pipe character inside a cell?

It is written as \| so it does not split the cell, and a line break inside a cell becomes <br>. When you convert a table back to CSV, both are turned into the original characters again.

What if the first row is not a header?

A Markdown table always has a header row. Untick the header option and an empty header row is added above your data.

Why do some columns look misaligned?

The padding counts characters, not screen width. Wide characters such as CJK text or some emoji take more room than one space, so the raw text may look uneven, but the rendered table is still correct.

Is my data sent anywhere?

No. The conversion runs in your browser.

More in Developer

All tools in this category: Developer ·Updated November 3, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.