Free Tool · No signup

Markdown Table Generator

Build a Markdown table by hand, or paste CSV, an Excel / Google Sheets selection, or JSON and convert it instantly. Set per-column alignment and copy GitHub- or Slack-ready output.

CSV · TSV · JSON inGitHub & Slack outRuns in your browser

Table editor

First row is the header. Click the orange icon on a column to cycle left → center → right alignment.

Import data

Paste CSV, a copied Excel / Google Sheets range (tab-separated), or a JSON array. The format is detected automatically.

Markdown tablemarkdown
| Method | Endpoint      | Auth    |
| :----- | :------------ | :------ |
| GET    | /v1/pages     | API key |
| POST   | /v1/pages     | API key |
| DELETE | /v1/pages/:id | API key |
Dokly

Make tables like these — right inside your docs

In Dokly's editor you drop in a table, type in the cells, and it's live on your docs site. No pipes to align, no CSV juggling, no rebuild. Tables, callouts, and code blocks included.

Build your docs in Dokly →

How to make a Markdown table

A Markdown table is three ingredients: a header row, a separator row of dashes, and one row of data per line. Pipes (|) divide the columns:

| Method | Endpoint   | Auth    |
| :----- | :--------- | :------ |
| GET    | /v1/pages  | API key |
| POST   | /v1/pages  | API key |

The colons in the separator row control alignment: :--- is left, :---: is center, and ---: is right. The padding spaces are optional — Markdown ignores them — but they keep the raw table readable in your source files.

Converting from CSV, Excel, or JSON

  • CSV → Markdown: paste comma-separated rows. The first line becomes the header.
  • Excel / Google Sheets → Markdown: select cells and copy. Spreadsheets put tab-separated text on the clipboard, which is detected automatically.
  • JSON → Markdown: paste an array of objects ([{"a":1,"b":2}]) and the keys become column headers, or an array of arrays for raw rows.

Why Slack needs a different format

Slack, Discord, and most chat apps don't render Markdown table syntax — paste a pipe table and you get a wall of | characters. The Slack / plain mode sidesteps this by padding every column with spaces and wrapping the result in a code block, so it renders in a monospace font where the columns actually line up.

Privacy

Everything runs in your browser. Your data never touches a server — there's no upload, no round-trip, and nothing stored.