JSON to CSV has never been easier

Our most popular conversion is JSON to CSV due to our extensive flexibility, accuracy of conversion, and support for Excel.

We have seen and converted literally tens of thousands of unique JSON formats into CSVs since 2010. Our conversion tool is generic and flexible enough to handle any JSON format on the web; regardless of layers and seeming complexity!

  • Intuitive design automatically detects repeating data or you choose
  • 15+ Custom Built in parameters to make conversions easy
  • API Design allows you to pass a local file, JSON string, S3 URL, or Web URL
  • Extendable to external APIs by passing credentials or OATH
  • Full Documentation and example usage

You must have an API token to call our APIs. You are automatically assigned one upon registering and confirming your email. See our tutorial: Two Methods of API Authentication and Example Use below that demonstrate passing your token to our server. You must substitute your token found in the Account page in place of [YOUR TOKEN]. Also, use your data file name instead of [YOUR FILE], i.e. invoices.csv. All conversion APIs require the infile parameter since it is the data you are converting.
Note that to read from an S3 bucket that requires authorization, you must pass both username and password parameters, and the URL must start with s3://.
There is a 25MB limit on input. You may however zip your input file and use it for infile.

Try it Now

Resulting curl command:

Parameter Value Type Description Example Use
infile


string This is the input file: raw data, or URL. Choose one of the options of "Local File", "URL", or "Data" curl -X POST "https://www.convertcsv.io/api/v1/csv2json/" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Bearer string to use in Auth for URLs used as input curl -X POST "https://www.convertcsv.io/api/v1/json2csv?bearer=78954237898937598" -F "infile=https://www.data.com/files/inputfile" -H "Authorization: Token [YOUR TOKEN]"
string File encoding - if not passed, the converter will attempt to determine the encoding by looking at the first few thousand bytes of the file. Typical values are: utf-8, utf-16. You can see a list of all supported types here: https://docs.python.org/3/library/codecs.html curl -X POST "https://www.convertcsv.io/api/v1/json2csv?encoding=ascii" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Key value of target array in input data. By default the first repeating group is used (JSON array or XML repeating tag). See the "uselargest" option. If your JSON is not an array and you want to use the whole structure, then pass a dash - curl -X POST "https://www.convertcsv.io/api/v1/json2csv?key=id" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
integer Limit number of output records to N, i.e. 100. If you have a large output file, use this option to limit your output. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?limit=10" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Input file is JSON Lines (JSON ND). This is auto-detected so setting this option allows auto-detection to be skipped. If converting to JSON - then use this to output JSON Lines. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?lines=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Do not output CSV headers. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?noheading=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Output file delimiter, i.e. : See also: outtab, outpipe, outsemi Depending on our operating system and delimiter, you may have to quote the delimiter in the OS shell, or URL encode the delimiter if used in a query string. curl -X POST "https://www.convertcsv.io/api/v1/json2csv" -F "infile=@[YOUR FILE]" -F outdelimiter=":" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is |. This is a convenience method sense | has special meaning in some command line shells. In the API query string, it is easier to use than encoding the query string. See also: outdelimiter, outtab, outsemi curl -X POST "https://www.convertcsv.io/api/v1/json2csv?outpipe=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is semi-colon. This is a convenience method sense semi-colon has special meaning in some command line shells. In the API query string, it is easier to use than encoding the query string. See also: outdelimiter, outtab, outpipe curl -X POST "https://www.convertcsv.io/api/v1/json2csv?outsemi=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Output delimiter is Tab. This is a convenience method sense Tab is difficult to specify. See also: outdelimiter, outsemi, outpipe curl -X POST "https://www.convertcsv.io/api/v1/json2csv?outtab=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Password for URL data source curl -X POST "https://www.convertcsv.io/api/v1/json2csv?password=bob&username=bee" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Output quoting in CSV output, N=None, M=Minimal, A=ALL. A will wrap all fields in double quotes. M will only wrap if necessary. N will not wrap with double quotes but will backslash special characters. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?quotingstyle=A" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Name of worksheet if outputting XLSX, default Sheet1 curl -X POST "https://www.convertcsv.io/api/v1/json2csv?sheetname=Data" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Supress line break in data curl -X POST "https://www.convertcsv.io/api/v1/json2csv?suppress=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Generate ASCII table curl -X POST "https://www.convertcsv.io/api/v1/json2csv?table=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Convert numeric timestamp to string curl -X POST "https://www.convertcsv.io/api/v1/json2csv?timestamp=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
boolean Choose largest array to convert. You typically will want to use "key" instead. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?uselargest=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
string Username for URL data source. This is only used when URLs are the data source. See password also. curl -X POST "https://www.convertcsv.io/api/v1/json2csv?username=johnny&password=xyz" -F "infile=https://www.xyz.com/myinputfile.csv" -H "Authorization: Token [YOUR TOKEN]"
boolean Generate Excel curl -X POST "https://www.convertcsv.io/api/v1/json2csv?xlsx=1" -F "infile=@[YOUR FILE]" -H "Authorization: Token [YOUR TOKEN]"
<

Pricing

Our Pricing

Free Test Drive

  • Try now and Buy Later - Product plans start at $39/month
  • Test drive ALL our API with no hassle(s)
  • Credit Card is not Required
  • Limited # of Total API calls
Custom

Unique

  • Need something more custom?
  • We can put together custom packages
  • Don't hesitate to contact us
  • We are ready to help!