Skip to content

Convert CSV to a Markdown table

Paste comma, tab, semicolon or pipe separated values and get an aligned GFM table. Quoted fields containing commas are parsed correctly.

  • Runs in your browser
  • Files are never uploaded
  • Free, no account
CSV to Markdown table
Paste comma, tab, semicolon or pipe separated values and get a properly aligned GFM table. Quoted fields containing commas are handled correctly.
Edit the grid
Every cell is a real input, so this works from the keyboard: Tab moves across, Shift+Tab moves back. Click a column header's alignment button to cycle left, centre and right.
Editable table grid
Row actions
Rows
4
Columns
3
Cells filled
3
Output
Switch format at any time — the grid above is the single source of truth.
Your table never leaves this tab — check it yourself—

Starting the network probe…

The counter above wraps fetch, XMLHttpRequest and navigator.sendBeacon in this tab and counts every call. It does not block anything — it just reports.

Two ways to verify independently

  1. Turn off Wi-Fi or enable airplane mode, then use the tool. It keeps working, because the page is already fully loaded.
  2. Open your browser devtools, switch to the Network tab, clear it, and run the tool. No new row appears.

Why this matters

In 2025 researchers found that popular online formatters had retained tens of thousands of user-submitted snippets — JSONFormatter.org and CodeBeautify together exposed roughly 80,000 saved documents, many containing live cloud credentials, private keys and internal database connection strings, because “format this” quietly meant “upload this”. A separate incident exposed roughly 3.5 million user PDFs on a document-conversion service. The only structural fix is not sending the data in the first place: this site is served under a Content-Security-Policy whose connect-src contains no third-party origin, so a request off this device cannot be made even by accident.

Why a naive comma split is not enough

Most quick CSV-to-Markdown converters split each line on commas. That works until a field contains one, which in real data is immediate: names (“Doe, Jane”), addresses, currency in some locales, and any free-text column. RFC 4180 defines the escape — wrap the field in double quotes, and double any quote inside it — and this page implements it.

CSV fieldCorrect valueWhat a naive split produces
"Doe, Jane"Doe, JaneTwo columns
"She said ""hi"""She said "hi"Stray quotes
A quoted field containing a newlineOne multi-line valueTwo broken rows
,,Two empty fieldsUsually collapsed to one

Delimiter detection

The parser sniffs the first rows for the separator that produces a consistent column count across them, and recognises comma, tab, semicolon and pipe. That matters more than it sounds:

  • Anything copied out of a spreadsheet arrives tab-separated, not comma-separated.
  • Excel in a locale where the comma is the decimal separator exports semicolon-separated files and still calls them CSV.
  • Log and database exports frequently use pipe.

The detected delimiter is named next to the input, so a wrong guess is obvious before you copy anything.

Getting the header right

A GFM table always renders its first row as a header — there is no headerless table in the format. If your CSV starts with data, switch off first row is a header in the output options and a generic Column 1, Column 2 header is generated so none of your rows are consumed. If your CSV has two header rows, merge them in the grid first.

Alignment for numeric columns

Right-aligning numbers is the single change that makes a data table readable, because the digits line up by place value and a reader can compare magnitudes at a glance. Click a column’s alignment button to cycle left, centre and right — that writes the colon markers into the separator row. Left for text, right for numbers and dates, centre sparingly.

Edit before you export

The parsed CSV lands in an editable grid rather than going straight to Markdown, which means you can drop the three columns you do not need, fix a typo, trim a trailing empty row, and set alignment — all before generating a single character of output. That is usually faster than cleaning the CSV first, and much faster than fixing the Markdown afterwards.

Large files

There is no row limit and no upload, so the constraint is what your browser will comfortably render as input fields. A few thousand rows is fine; a hundred thousand is not, and the answer there is a script rather than a web page. For anything mid-sized, paste the header and a representative sample, get the shape right, then apply the same transformation to the full file with CSV to JSON or a spreadsheet.

Questions

Does it handle quoted fields?

Yes. The parser follows RFC 4180: a field wrapped in double quotes may contain commas, newlines and doubled quotes, and none of them break the column split. A naive split on commas — which most online converters do — mangles exactly those rows.

How is the delimiter detected?

By sniffing the first rows for the separator that yields a consistent column count. Comma, tab, semicolon and pipe are all recognised, which covers CSV exported by European locales (semicolon) and anything copied out of a spreadsheet (tab).

My first row is data, not a header. What do I do?

Turn off "first row is a header" in the output options. Markdown tables always render a header row, so a generic `Column 1`, `Column 2` header is emitted instead and all of your rows stay in the body.

Can I edit before exporting?

Yes — the parsed data lands in an editable grid, so you can fix a typo, delete a column or set alignment before copying the Markdown. Everything happens locally.