How to convert CSV to JSON
- Choose CSV → JSON.
- Paste your CSV, drop a
.csvfile onto the input box, or click Open file…. - Check the status line: it shows the number of rows and columns and the delimiter it detected.
- Click Copy or Download .json.
With "First row is a header" ticked, every row becomes an object whose keys are the column names:
name,city,zip
Anna,Linz,04020
becomes
[
{ "name": "Anna", "city": "Linz", "zip": "04020" }
]
Choose "Array of arrays" to keep the rows as plain lists instead. Empty cells become null. Duplicate or empty column names are made unique (name, name_2, column_3).
How to convert JSON to CSV
- Choose JSON → CSV.
- Paste a JSON array of objects (or open a
.jsonfile). - Pick the delimiter your spreadsheet program expects, then copy or download the CSV.
Every key that appears in any object becomes a column, in the order it first appears. Nested objects are flattened into dotted column names, and arrays are written as JSON text:
[{ "id": 1, "address": { "city": "Wien" }, "tags": ["a", "b"] }]
becomes
id,address.city,tags
1,Wien,"[""a"",""b""]"
If the JSON is a single object that wraps one array (for example {"data": [...]}), the array is used. Invalid JSON is reported with its line and column.
Numbers, true/false and values that must stay text
With "Detect numbers and true/false" ticked, 42 becomes a number and true a boolean. Values that only look like numbers are kept as text so nothing is damaged:
- leading zeros, such as postcodes and IDs:
04020,007 - phone numbers with a plus sign:
+43 … - integers too large to be stored exactly in JSON numbers, such as long order or account IDs
- values with spaces around them
Untick the option to keep every value as text.
Semicolon CSV and decimal commas
Spreadsheet programs set to German, Austrian and many other European locales save "CSV" with semicolons, because the comma is the decimal separator there. The converter detects the delimiter automatically. Tick Decimal comma to turn 12,50 into the number 12.5. When converting back, choose the semicolon delimiter and tick Add UTF-8 BOM so umlauts open correctly.
What is formula (CSV) injection protection?
A cell that starts with =, +, - or @ may be run as a formula when the CSV is opened in a spreadsheet program. If your JSON contains text from other people, such a cell could do harm. With the option ticked, text cells that start with one of these characters get a leading apostrophe ('=SUM(A1)), which spreadsheet programs show as plain text. Real numbers such as -5 are not changed.
Frequently asked questions
- Is my data uploaded?
- No. The conversion runs in your browser. You can check it in the Network tab of your browser's developer tools or use the page offline once it has loaded.
- How large can the file be?
- Files of several megabytes convert in a moment. Very large files (hundreds of megabytes) are limited by your device's memory.
- My CSV has quotes and line breaks inside cells. Does that work?
- Yes. Fields in double quotes may contain delimiters, line breaks and doubled quotes (
""), as in RFC 4180. - Some rows have more or fewer fields than the header.
- Missing fields become
null; extra fields get new columns namedcolumn_N. The status line tells you how many rows were affected. - What does it cost?
- Nothing. There are no ads, no sign-up and no limits.