Try
About this tool
- Runs in
- your browser
- Your input sent to our servers
- Nothing
- Kept on this device
- nothing
More in the privacy policy.
How to use it
- 01Choose CSV → JSON or JSON → CSV, then paste your data, open a file or drop one on the page (a .json file converts to CSV). Or pick one under Try.
- 02The result appears as you type. The separator is detected (comma, semicolon, tab or pipe); untick Header row if the first row is data, and choose whether numbers and true, false and null become JSON values.
- 03Copy the result or download it as a file; Swap converts it back.
Related tools
Questions
Why are some numbers kept as text?
A number becomes a JSON number only when it’s written plainly and fits exactly: zip codes with a leading zero and long IDs stay text so nothing is lost. zip,id / 02134,12345678901234567890 gives [{"zip":"02134","id":"12345678901234567890"}]. Untick Numbers to keep every value as text.
What happens to nested objects going to CSV?
They’re flattened into columns with dot keys, and arrays are written as JSON in their cell: {"address":{"city":"Pune"},"tags":["a","b"]} gives address.city,tags / Pune,"[""a"",""b""]". Columns appear in the order their keys first appear.
Which separators and quotes does it understand?
Comma, semicolon (common in European Excel exports), tab and pipe, detected from the data or chosen by hand. Fields in double quotes can hold the separator, line breaks and doubled quotes (""), as in RFC 4180. A byte-order mark at the start is ignored.
How large a file can it convert?
Files of tens of megabytes. The conversion runs in the background, so it doesn’t freeze the page, and a long result shows its start while Copy and Download take all of it. Pasting very large files can make the text box itself slow to type in.
Is my data sent anywhere?
No. It’s converted in your browser, and a file you open is read there too. It isn’t sent to our servers, put into the page address or saved.