The short version
A CSV to Markdown converter parses delimited text and emits a pipe table. The parsing details that matter are delimiter detection, quoted fields containing the delimiter, escaped quotes, and rows of unequal length.
Why pasting from a spreadsheet works
Copying cells out of Excel, Numbers or Google Sheets puts tab-separated values on your clipboard rather than commas. A converter that assumes commas produces one useless column from that paste, which is the most common frustration with these tools.
So the delimiter is detected rather than assumed. We count commas, tabs, semicolons and pipes in the first line and use whichever appears most.
Semicolons matter more than people outside Europe expect: locales that use a comma as the decimal separator export CSV with semicolons instead, so a European spreadsheet export frequently is not comma-separated at all.
The parsing details that actually bite
CSV looks trivial and is not. Three cases separate a working parser from a naive split on commas.
A quoted field containing the delimiter. The value "Smith, John" is one field, not two, and splitting on commas breaks it.
An escaped quote inside a quoted field, written as two double quotes. A parser that does not handle it either truncates the value or swallows the rest of the row.
Rows of unequal length, which real exports produce constantly. We pad short rows so the table stays rectangular, because a Markdown table with inconsistent column counts renders unpredictably.
- Quoted fields containing the delimiter are kept whole
- Doubled quotes inside a field become one literal quote
- Short rows are padded so the table stays rectangular
- Pipe characters in cell values are escaped, or they would break the table
Header rows
Markdown tables require a header, so something has to fill that row.
By default the first row of your data is used, which is right the large majority of the time because most exports include headers.
When your data has no header row, the first line of real data would otherwise be consumed as one. In that case the tool generates placeholder column names instead, so no data is lost. Rename them afterwards.
Where a Markdown table is the wrong destination
Markdown tables are for reading, not for data. If you need to sort, filter, sum or chart, keep the spreadsheet.
They also have no support for merged cells, multiple header rows, or cells containing line breaks. A cell with a paragraph in it will run into one long line.
And very wide tables are painful in Markdown. Past roughly eight or ten columns the source becomes unreadable to edit and the rendered table needs horizontal scrolling, which most readers will not do.
Questions about this tool
Can I paste straight from Excel or Google Sheets?+
Yes. Copied spreadsheet cells arrive as tab-separated values, and the delimiter is detected rather than assumed, so that paste works without any conversion first.
Does it handle commas inside quoted fields?+
Yes. A quoted value containing the delimiter is kept as one field, and doubled quotes inside a field become a single literal quote.
What if my CSV has no header row?+
Turn off the header option and placeholder column names are generated instead, so your first row of real data is not consumed as a header.
Is my data uploaded?+
No. Conversion runs in your browser. We record that a conversion happened, never the content, which matters given CSV pastes often contain customer data.