CSV to table converter
Paste CSV and see it as a clean table — then copy it as HTML or Markdown.
From raw CSV to a usable table
Paste comma-, semicolon-, tab-, or pipe-separated values and the tool renders a clean, formatted table instantly. It auto-detects the delimiter, so you don't have to tell it what kind of file you've got, and it correctly handles quoted fields that contain commas inside them — the thing that trips up naive CSV parsing. When you're happy, copy the result as an HTML table for a web page or a Markdown table for docs and READMEs.
Why this beats opening a spreadsheet
When someone sends you a chunk of CSV — an export, a log snippet, a data sample — opening a whole spreadsheet app just to read it is overkill. Pasting it here gives you a readable grid in a second, which is often all you need to scan the columns, sanity-check the data, or grab a Markdown version for documentation. It runs entirely in your browser, so confidential exports never leave your device.
Markdown tables, the easy way
Hand-writing a Markdown table — lining up pipes and dashes — is tedious and easy to get wrong. Converting from CSV is far faster: paste your data, copy the Markdown output, and drop it straight into a README, a GitHub issue, or any docs tool that renders Markdown. For the reverse trip or to convert structured data, the JSON ↔ CSV converter handles arrays of objects in both directions.
Why naive CSV parsing breaks
CSV looks trivial and is not. The specification allows a field to contain the delimiter itself, provided the field is quoted — so Smith, John is one field when written as "Smith, John". Splitting a line on commas therefore produces the wrong number of columns the moment any value contains a comma, which for real data is almost immediately.
Quoted fields can also contain line breaks, meaning a single record may span several physical lines. A quote character inside a quoted field is escaped by doubling it, so "She said ""hello""" holds the value She said "hello". This parser handles all three cases, which is the difference between a table that is right and one that silently shifts columns.
Delimiters and where they come from
The comma is not universal. In locales that use a comma as the decimal separator — most of continental Europe — spreadsheet software exports with semicolons instead, which is why a file that opens perfectly for a colleague arrives as a single mangled column for you. Tab-separated data is common when copying straight out of a spreadsheet, and pipes turn up in database exports.
The tool detects the delimiter rather than assuming, so all four work without configuration. If a paste comes out as one column, the delimiter is the first thing to check — and if it comes out with the right columns but numbers look wrong, check whether decimal commas have been read as separators.
Getting the output where you need it
Copy as an HTML table to paste straight into a page or a CMS, or as a Markdown table for a README, a wiki, a pull request description or documentation. Markdown tables are the usual reason people reach for this, because writing the pipe-and-dash alignment rows by hand is tedious and easy to get wrong.
A couple of things worth knowing about the destination format. Markdown tables cannot contain line breaks within a cell, so multi-line values need shortening or a <br>. A literal pipe inside a cell must be escaped as \| or it will be read as a column boundary. For the reverse direction, the JSON to CSV converter handles structured data, and the diff checker is useful for comparing two exports.