CSV/JSON Converter

A tool for converting data between CSV and JSON right in your browser. You can choose the delimiter and whether the first row is a header, and preview the result as a table. For JSON→CSV, you can also download the result as a file.

Delimiter

How to use

  1. Choose "CSV → JSON" or "JSON → CSV" and paste the data you want to convert into the input area on the left.
  2. Choose a delimiter (comma, tab, or semicolon). For CSV → JSON, you can also choose whether to treat the first row as a header.
  3. The converted result appears in real time on the right, with a table preview underneath.
  4. Use "Copy to clipboard" to copy the result, or, for JSON → CSV, "Download CSV" to save it as a file.

About this tool

This tool converts data between CSV and JSON right in your browser. It's useful for turning a CSV exported from a spreadsheet into JSON that's easy to work with in an API or program, or the other way around, converting JSON into a CSV you can open in spreadsheet software.

It implements a lightweight CSV parser that handles quoted fields, line breaks within fields, and escaped double quotes, so it can correctly convert complex real-world CSV files. The result is also previewed as a table so you can immediately check that the data was interpreted as intended.

Your input data is never sent to a server — all conversion happens entirely with JavaScript in your browser.

Frequently asked questions

Can it convert large CSV files?

Yes, as long as your browser's memory allows it. However, to keep things responsive, the table preview only shows the first 200 rows (the full conversion result still includes every row).

How is a CSV without a header handled?

If you uncheck "Treat first row as header", each row is converted to a JSON array, and column headers are automatically numbered like "Column 1", "Column 2", and so on.

Are there any restrictions on the JSON structure?

You can convert an array of objects (e.g. [{"a":1}]), an array of arrays, or a single object to CSV. If objects have differing keys, column headers are generated from the union of all keys, and missing values are left blank.

Is my converted data saved on a server?

No. Input, conversion, and download all happen entirely in your browser, and no data is ever sent to an external server.