Convert JSON to CSV

Jan 6, 2019

JSON to CSV converter is used to convert JSON text or file into CSV or delimited format. You can choose whether to write the header record & what delimiter to use. Nested JSON documents are also supported. Checkout the examples.

Input: Paste JSON content below


Convert CSV data into JSON. Choose whether property names are auto generated or taken from the header

View Tool

Use 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.


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 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

    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

    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

    John Doe|Engineering
    Jane Doe|Billing
    Semi-Colon Delimiter

    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

    John Doe|Engineering|Atlanta|Georgia
    Jane Doe|Billingr|Hayward|California
    Double Underscore Path Delimiter

    John Doe|Engineering|Atlanta|Georgia
    Jane Doe|Billingr|Hayward|California
    Slash Path Delimiter

    John Doe|Engineering|Atlanta|Georgia
    Jane Doe|Billingr|Hayward|California
    Dot Path Delimiter

    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}
Comments 1


John Copy Link

  • one year ago

Wow works great! But I found some small problems with very nested JSON. This solution works a little better it doesn't make array from object so CSV in output is more clean in my opinion.

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