Skip to content
AZ Tools

CSV → HTML / Markdown / JSON Table

Convert CSV to an HTML <table>, a Markdown table, or a JSON array of objects — auto-detects the delimiter.

Output
Paste CSV to convert.

How to use

  1. Paste your CSV data.
  2. Pick the output format (Markdown is shortest; HTML is what you'd drop into a CMS; JSON gives one object per row).
  3. Verify the preview, then copy the output.

About this tool

Show

Paste CSV — or TSV, semicolon or pipe-separated data — and convert it to an HTML table, a Markdown table, or a JSON array of objects, whichever the destination needs. The parser follows the usual quoting rules, so a comma inside quotes stays inside its field and a doubled quote is read as one literal character. Auto-detection picks the delimiter by testing each candidate and keeping the one that produces a consistent column count across the first five rows, which is far more reliable than counting occurrences: a text column full of commas will not fool it into splitting a semicolon file. A live preview of the first five parsed rows lets you confirm the split is right before you copy anything out.

Frequently asked questions

What if my CSV uses semicolons or tabs?

Auto-detect handles , ; \t |. If the score is ambiguous, set the delimiter manually from the dropdown.

Does it handle commas inside quoted fields?

Yes — "Smith, John" is one cell. "" inside quotes becomes a literal ". Standard RFC 4180 behavior.

Why JSON as objects vs nested arrays?

Objects (with header keys) is what almost every API consumes. Without a header row, the JSON output falls back to a nested array.

How do I import HTML output into Word or Google Docs?

Paste the HTML directly — both treat pasted <table> markup as a real table.

How does auto-detect avoid being fooled by commas in the text?

It does not count occurrences — it tries each candidate delimiter and keeps whichever produces a consistent column count across the first five rows. A prose column full of commas splits into a different number of fields on every line, so that candidate loses.

Why does the preview only show five rows?

Because it exists to confirm the split is right, not to display the data. Five rows is enough to see that a quoted field survived and that the header lines up with the columns beneath it — check that before copying, since a wrong delimiter produces output that looks structured but is not.

Related tools