Text tools · free

CSV ↔ JSON converter

Paste a spreadsheet export, get clean JSON. Or the other way round. Nothing is uploaded.

Your data

Paste CSV or JSON. It all stays in your browser.

Example: the first row is treated as the column names

Output

0 rows 0 columns

Why splitting on commas does not work

The obvious way to read a CSV is to split each line on commas. It fails immediately on real data:

name,city,budget Northgate Dental,"London, UK","4,500"

Split on commas and you get five fields instead of three. The quotes exist precisely so a value can contain the delimiter — and formatted numbers like "4,500" are extremely common in exports from accounting software.

This converter reads the file character by character and tracks whether it is inside quotes, which is the only approach that handles quoted commas, escaped quotes ("") and line breaks inside a value.

Type detection

CSV has no types — everything is text. When the option is on, this tool converts:

In the CSVBecomes
4242 (number)
"4,500"4500 (number)
truetrue (boolean)
00123"00123" (left as text)

That last row matters. Leading zeros are kept as text, because turning a postcode or a phone number into a number destroys it. If your IDs are losing their leading zeros elsewhere, this is why.

Going back the other way

JSON to CSV needs your data to be a list of objects — rows and columns. If an object contains a nested object or array, there is no honest way to put that in a single cell, so it is written as JSON text and you are told it happened.

Nothing is uploaded

Both directions run in your browser. That matters here more than for most tools, because CSV exports routinely contain customer names, emails and revenue figures. None of it leaves your computer.

Common questions

Does it handle commas inside quoted values?

Yes. That is the main reason to use a proper parser rather than splitting on commas. Escaped quotes and line breaks inside a quoted field are handled too.

Why are my leading zeros disappearing?

They should not here — values with leading zeros are deliberately kept as text. If it happens in Excel, that is Excel converting on import, not the file itself.

What if my file uses semicolons?

Change the delimiter. European exports commonly use semicolons because the comma is the decimal separator there.

Is my data uploaded?

No. Everything happens in your browser and nothing is stored or transmitted.

Want this checked on your real account?

A tool can only work with the numbers you give it. If you want someone to look at what is actually happening in your ad account, the first conversation is free.

Book a free consultation

Related