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.
Output
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:
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 CSV | Becomes |
|---|---|
42 | 42 (number) |
"4,500" | 4500 (number) |
true | true (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