Converter

JSON to CSV

Convert a JSON array of records (or row arrays) into CSV using Papa Parse — everything runs in your tab, like APK Analyzer and APK String Extractor: your data is not uploaded to DroidXP. Papa Parse loads from jsDelivr. Pair with CSV to JSON when you need the reverse direction.

Ad placement — top banner
Root must be an array · UTF-8 · ~2M character soft limit

Import direction: CSV to JSON. Numeric bases: Number Base Converter.

Ad placement — mid rectangle

What this tool does

Papa Parse unparse builds a CSV string from arrays. For an array of objects, column names are derived from object keys (merged across rows). For an array of row arrays, values are written row-by-row with no added header row — useful when your JSON already mirrors a matrix.

Local vs CDN

Your JSON never leaves the browser for conversion — DroidXP does not receive the payload. Only the Papa Parse script file is fetched from jsDelivr when you open the page, which is normal for hosted libraries.

Privacy

Output and preferences may remain in this tab until you clear them. Delimiter, line-ending, and BOM choices can be stored in localStorage. Use a trusted device for sensitive datasets.

How to use this tool

  1. Step 1: Paste a JSON array or upload a .json file; items should be all objects or all arrays.
  2. Step 2: Choose delimiter, line ending, and optional UTF-8 BOM for Excel if needed.
  3. Step 3: Click Convert, then copy CSV or download a .csv file.

Frequently Asked Questions

Does DroidXP upload my JSON or CSV?

No. Conversion runs in your browser. Your JSON is not sent to DroidXP servers for this tool. Papa Parse is loaded from jsDelivr like a normal script tag.

What JSON shape does this tool expect?

A root JSON array whose items are either all plain objects (records) or all arrays (row tuples). Single objects at the root are not accepted — wrap one record in an array.

How are column headers chosen for an array of objects?

Headers are the union of all object keys in first-seen order: keys from the first row first, then new keys as they appear in later rows. Missing fields become empty cells.

What happens to nested objects or arrays?

Nested values are serialized with JSON.stringify and placed in a single cell so the CSV stays rectangular. Round-tripping back to structured JSON may require a separate parser.

Should I enable the UTF-8 BOM for Excel?

If Excel mangles non-ASCII text on import, try enabling the BOM so Windows Excel recognizes UTF-8. Other tools may prefer BOM off.

Why semicolon delimiter?

Some European Excel locales use semicolons as the list separator. Match your spreadsheet locale or re-import with the correct separator.

Can I convert huge files?

Very large JSON can freeze the tab during stringify and unparse. Use CLIs or databases for big exports; this page fits clipboard-sized payloads.

Same privacy idea as APK Analyzer?

Yes for data: your records stay local in the browser. The Papa Parse script file downloads from the jsDelivr CDN when you load the page — standard for web libraries.

Invalid JSON or wrong structure?

Fix JSON syntax first (commas, quotes). If the root is not an array, or rows mix objects with arrays, the tool shows an explanatory error.

Is this production ETL?

No — use it for quick exports and spot checks. Pipelines need schemas, tests, and monitoring for encoding, quoting, and type loss.

Does CSV preserve JavaScript types?

CSV is text. Numbers and booleans become string cells unless your importer casts them. Dates should be pre-formatted as strings if you need a specific format.