Convert CSV data into JSON. Choose whether property names are auto generated or taken from the header
View ToolUse Cases
- Nested JSON to CSV Converter
- This tool is designed to work with JSON documents. Your JSON data can have array of objects or even objects inside of objects. The tool does it's best to come up with a CSV output that best corresponds to your nested JSON.
- Convert JSON to Pipe Delimited
- Paste your JSON in the input or upload a JSON file. The default output data format is comma separated. Goto settings and choose Pipe as the delimiter. Click on Convert. Your input JSON will be converted to a pipe delimited format. Optionally, hit the Download button to save the output as a CSV file.
JSON
JavaScript Object Notation (JSON), pronounced as Jason, is the most common data interchange format on the web. Douglas Crockford first released the JSON specification in the early 2000s. It is a simple format that is easier to comprehend than XML. It is also smaller in size because it does not have closing tags. A wide variety of programming languages can parse JSON files. They also support the serialization of data structures to JSON. You can copy JSON text to JavaScript and start using them without any modifications.
CSV
CSV is an old & very popular format for storing tabular data. It has been used in the desktop as well as mainframe. It is a simple & compact format that works really well for tabular data and so is still in use today.
Settings Explained
1. Write Header
Choose whether to write the header record (which contains the names of the columns) in the output.
Write Header On
name,department John Doe,Engineering Jane Doe,Billingr
Write Header Off
John Doe,Engineering Jane Doe,Billingr
2. Delimiter
Choose which delimiter to use to separate the fields & column names in a record. Acceptable values are:-
- Comma
- Tab
- Space
- Pipe
- Semi-Colon
Comma Delimiter
name,department John Doe,Engineering Jane Doe,Billing
Tab Delimiter
name department John Doe Engineering Jane Doe Billing
Space Delimiter
name department "John Doe" Engineering "Jane Doe" Billing
Pipe Delimiter
name|department John Doe|Engineering Jane Doe|Billing
Semi-Colon Delimiter
name;department John Doe;Engineering Jane Doe;Billing
3. Path Delimiter
This setting governs how the column names are formed in complex JSON structures which have nested objects. You can choose between any of the 4 delimiters which will be used to join the property names and create the output CSV column.
Uderscore Path Delimiter
name|department|address_city|address_state John Doe|Engineering|Atlanta|Georgia Jane Doe|Billingr|Hayward|California
Double Underscore Path Delimiter
name|department|address__city|address__state John Doe|Engineering|Atlanta|Georgia Jane Doe|Billingr|Hayward|California
Slash Path Delimiter
name|department|address/city|address/state John Doe|Engineering|Atlanta|Georgia Jane Doe|Billingr|Hayward|California
Dot Path Delimiter
name|department|address.city|address.state John Doe|Engineering|Atlanta|Georgia Jane Doe|Billingr|Hayward|California
4. Cleanse Boolean Values
If selected, Boolean values in Sentence & Capital cases such as True, False, TRUE & FALSE are transformed to their lowercase versions before conversion to CSV. This makes sure that the JSON is valid by cleansing the boolean values. According to the JSON specification, such boolean values are invalid and only lowercase true/false are valid.
Use this if your input JSON has such boolean values in Sentence or Capital casing. However, this will also transform such words inside JSON strings (i.e inside double quotes)
5. Handle Multiple Jsons
If selected, multiple JSONs in the input are handled. Each Valid JSON must completely exist in one line.
Handle Multiple Jsons On
The following input works
{"name": "Robin Hood","department": "","manager": "","salary": 200} {"name": "Arsene Wenger","department": "Bar","manager": "Friar Tuck","salary": 50} {"name": "Friar Tuck","department": "Foo","manager": "Robin Hood","salary": 100}
Handle Multiple Jsons Off
The following input does not work
{"name": "Robin Hood","department": "","manager": "","salary": 200} {"name": "Arsene Wenger","department": "Bar","manager": "Friar Tuck","salary": 50} {"name": "Friar Tuck","department": "Foo","manager": "Robin Hood","salary": 100}
History
- Jan 6, 2019
- Support for dot as path delimiter
- Jan 12, 2018
- Support for multiple JSON input
- Nov 8, 2017
- Boolean value cleansing
- Sep 4, 2017
- Tool Launched
Comments 1
John Copy Link
Wow works great! But I found some small problems with very nested JSON. This solution works a little better https://dev-bay.com/json-to-csv/ it doesn't make array from object so CSV in output is more clean in my opinion.