Paste CSV (or a copied Excel / Google Sheets range) and get a clean, GitHub-flavored Markdown table. Handles quoted fields, semicolons, tabs, and pipes. Everything runs in your browser.
Click any sample to load it. Then edit, add rows, or paste your own.
Delimiter in use: comma (auto-detected) · 6 rows · 4 columns
Click a column to cycle left → center → right. Overrides the default alignment.
Output is GitHub-flavored Markdown — the same flavor that renders on GitLab, Bitbucket, npm, Reddit, Obsidian, and most static-site generators. Slack and Discord don't render this syntax; use the builder tool in Slack mode instead.
In Dokly's editor you drop in a table, type in the cells, and it's live on your docs site. No CSV juggling, no rebuild. Tables, callouts, and code blocks included.
Build your docs in Dokly →A Markdown table has three parts: a header row, a separator row of dashes, and one row of data per line. Pipes (|) divide the columns. Here's what the converter turns your CSV into:
| Method | Endpoint | Auth | | :----- | :--------- | :------ | | GET | /v1/pages | API key | | POST | /v1/pages | API key |
Colons in the separator row control alignment: :--- is left, :---: is center, and ---: is right. The padding spaces are cosmetic — Markdown ignores them — but they keep the raw table readable in your source files.
Left on Auto, the tool looks at the first ~20 non-empty lines and picks whichever of ,, \t, ;, or | has the most consistent frequency. That handles the common cases: US-style CSV, Excel/Sheets copy-paste (tabs), European locales (semicolons), and pipe-delimited database dumps. Override the dropdown when your data is ambiguous — a description field full of commas can throw off detection on tab-separated data with only a couple of rows.
The parser is RFC 4180-compliant, which is a slightly-boring way of saying: quote a field with double quotes and it can contain commas, semicolons, newlines, or anything else — the delimiter is only respected outside quotes. If you need a literal double quote inside a quoted field, escape it by doubling: "he said ""hi""". Inline newlines survive parsing and are converted to <br> in the Markdown output, since GitHub-flavored Markdown tables don't allow real line breaks inside cells.
A single unescaped | inside a cell would split the column and break the table. Every pipe is escaped as \| in the output so it renders as a literal pipe — safe to paste anywhere without hand-editing.
Everything runs in your browser. Your CSV never touches a server — no upload, no round-trip, nothing stored. Open the Network tab in DevTools while you convert and you'll see zero requests.