Developer Tools

JSON to CSV Converter

Convert a JSON array of flat objects to CSV with a header row, then copy it or download data.csv. Up to 10,000 rows and 100 columns. Runs in your browser.

  • 100% free
  • No sign-up
  • Private: runs on your device
  • Updated

Enter your details

Runs in your browser. Nothing you enter is uploaded or saved.

Your result

Your converted output and its statistics appear here.

What is the JSON to CSV Converter?

Need to open API data in Excel or Google Sheets? This JSON to CSV Converter takes an array of flat objects and turns it into a CSV table with a header row. Every key found across your objects becomes a column, in the order it first appears, and each object becomes one row. Copy the CSV text or download it as data.csv.

The tool is built for flat records such as orders, contacts or scores, with up to 10,000 rows and 100 columns. Nested objects or arrays inside a value are rejected rather than flattened silently. Every cell is wrapped in double quotes, and values that could act as spreadsheet formulas get a protective apostrophe. You can paste JSON or open a local file.

How to use the JSON to CSV Converter

  1. Paste a JSON array of objects into the JSON array of flat objects box, or press Open a text file to load a local .txt, .csv, .json, .md, .html, .xml or .log file of up to 5 MB.
  2. Make sure each item in the array is an object whose values are plain text, numbers, true/false or null.
  3. Press Convert to convert the data.
  4. Preview the CSV text in the result area.
  5. Press Download to save data.csv, or Copy result to paste the CSV elsewhere; press Reset to start over.

Key features

  • Builds the header row from the union of all keys, in first-seen order.
  • Leaves cells empty for missing keys and null values.
  • Quotes every cell and escapes internal double quotes for safe CSV parsing.
  • Adds an apostrophe before formula-like values starting with =, +, - or @ to reduce spreadsheet formula injection risk.
  • Offers the result as a downloadable data.csv file, for up to 10,000 objects and 100 columns.

Why use this json to csv converter

  • Moves API and database exports into Excel, Google Sheets or LibreOffice in seconds.
  • Handles records with different keys without manual column matching.
  • Reduces the risk of malicious formulas running when the file is opened in a spreadsheet.
  • Keeps business data private by converting it locally in your browser.

How it works

Gather keys in first-seen order; serialize scalar cells with doubled quotes and CRLF rows; prefix formula-like spreadsheet cells with an apostrophe.

JSON to CSV Converter examples

1

Two simple records

Input: [{"name":"Ada","score":10},{"name":"Lin","score":12}]

Result: "name","score"
"Ada","10"
"Lin","12"
Quoted CSV with a header row. Formula-like cells are prefixed with an apostrophe; review before opening in a spreadsheet.

2

Different keys and formula-like values

Input: [{"item":"Pen","price":-5},{"item":"Book","note":"=SUM(A1)"}]

Result: "item","price","note"
"Pen","'-5",""
"Book","","'=SUM(A1)"
Quoted CSV with a header row. Formula-like cells are prefixed with an apostrophe; review before opening in a spreadsheet.

Missing keys become empty cells, and -5 and =SUM(A1) get a protective apostrophe.

Important notes before you rely on the result

  • Everything runs client-side, so it is safe to paste API responses, but avoid pasting live passwords or private keys into any website.
  • Base64 is an encoding, not encryption: anyone can decode it.
  • JSON is parsed, never executed. Comments and trailing commas are not valid JSON and are reported as errors.

JSON to CSV Converter: frequently asked questions

What JSON structure does the converter accept?

The input must be a nonempty array of objects, such as [{"name":"Ada"},{"name":"Lin"}]. Each value should be a string, number, true, false or null. A single object, an array of plain values, or an empty array shows an error. Objects do not need identical keys; missing ones simply become empty cells in that row.

Can it convert nested JSON?

No. If any value is itself an object or an array, such as an address object or a list of tags, the tool stops with the message that nested values are not supported. Flatten the data first, for example by turning address.city into its own key, or convert nested lists to a single text value before running the conversion.

Why do some cells start with an apostrophe?

Values that begin with =, +, - or @ can be interpreted as formulas by Excel and other spreadsheets, which is a known security risk. The tool adds an apostrophe in front so they open as plain text. This also applies to negative numbers, so -5 is written as '-5. Remove the apostrophes in your spreadsheet if you trust the data and need numeric values.

What are the size limits?

You can convert up to 10,000 objects with up to 100 distinct columns, and the CSV output can be up to four million characters. The text box accepts up to 1,000,000 characters of JSON. Larger datasets show a clear message; split them into smaller arrays, convert each part, and combine the CSV files afterwards.

How do I open the downloaded file in Excel?

Press Download to save data.csv, then open it in Excel, Google Sheets or LibreOffice. Rows are separated with Windows-style line endings and every cell is quoted, which most spreadsheet programs read correctly. If accented characters look wrong in Excel, use its Data menu to import the file and choose UTF-8 as the encoding.

How are true, false and null values written?

Booleans are written as the text true or false inside quotes, and numbers are written as they appear after parsing, so 10.0 becomes 10. Null values and keys missing from an object both become empty cells. Very large numbers follow JavaScript precision and may lose their final digits, so store long IDs as strings in your JSON.

Results are estimates for general information, not financial, medical, legal, tax, or property advice. Confirm important figures with the relevant institution or a qualified professional.