YOUR TABLES. YOUR DEVICE.

JSON to CSV Converter

Convert flat JSON object arrays into CSV on your device. Preserve number text, include every field, adjust column order and review spreadsheet formula protection before downloading.

No file uploadsExplicit field rulesBatch ZIP downloads

Choose your JSON files

Local processing. One output for each input.

Up to 10 files · 5 MB each · 20 MB total · UTF-8

Or paste JSON text

Up to 5 MB of UTF-8 text. Editing here does not change a file already in the queue.

0 CSV files ready

Files, pasted text, parsing and downloads stay on your device. Clear all, leave this tool or refresh to release the session. No file history is saved.

How to convert JSON

  1. Choose UTF-8 files or paste text and add it to the queue.
  2. Check the delimiter and BOM and formula-protection settings.
  3. Convert, inspect the result and any changes, then download a file or ZIP.

A clear mapping from objects to rows

Each object becomes one row. Field names are merged in first-seen order across the entire array, including fields that appear only in later objects. Use Adjust column order after a conversion and convert again to apply your preferred order. In a batch, matching field names follow that order and other fields are appended; none are dropped.

Strings keep their decoded text. Booleans become true or false. Null and absent fields become empty cells, so CSV cannot distinguish them from each other or an empty string. Nested objects and arrays are rejected with a location and field path; this tool does not flatten, stringify or discard them.

Preserve numeric spelling without floating-point rounding

Numbers are read as their original JSON tokens. Large integers, long decimals, exponent notation and negative zero retain their spelling in the CSV bytes. They do not pass through JavaScript floating-point conversion. Duplicate object keys and malformed JSON are rejected.

A spreadsheet may still round a long number, infer a date or remove leading zeros when it opens CSV. Import identifier columns as text and inspect the result in that application. Formula protection can prefix negative values with an apostrophe; turn it off only when you understand the destination and want the original cell text.

Formula protection is visible and optional

Protect formula-like cells is on by default. Risky headers and values, including leading whitespace before formula characters and full-width variants, receive an apostrophe prefix. The output reports how many cells were changed, and the preview shows the actual exported text. All fields are quoted, with internal quotes doubled.

The prefix is part of the CSV data. It is a mitigation, not a guarantee for every spreadsheet or a file that is later edited and saved again. Import untrusted data as text. With protection off, the original text is exported and formula-like content may execute when opened in a spreadsheet.

Choose encoding and download a complete table

Choose comma, semicolon, tab or pipe. UTF-8 BOM is enabled by default and can be turned off. Output records use CRLF line endings; quoted fields may contain embedded line breaks. No formulas are evaluated in this browser tool.

The bounded preview is for inspection. Download the full result or a ZIP of completed files. An empty array or a set of objects with no columns is rejected because there is no header to export. Retain your original JSON if you need its types or the distinction between null and missing fields.

Bounded processing, with cancellation and recovery

Up to 10 files, 5 MB each and 20 MB total. Each table is limited to 50,000 data rows, 200 columns, 250,000 cells, 200,000 characters per field and 200 characters per field name. Output is limited to 20 MB per file. The 64 MB result budget pauses a large batch so you can save a ZIP part and release it before continuing.

Parsing runs in a local worker that can be terminated. Cancel discards unfinished output and leaves sources available to retry. Each file has a 20-second processing limit. Invalid files do not prevent other files from completing. Files and pasted text are not uploaded, and analytics excludes the data. Read the privacy policy.

JSON to CSV questions

Which JSON structures are supported?

A top-level array of flat objects with string, number, boolean or null values. Nested arrays or objects, duplicate keys, empty field names and malformed JSON are rejected with a useful location.

Are large JSON numbers rounded?

No. Numeric tokens are preserved as text without floating-point parsing. Spreadsheet applications can still reinterpret CSV values; import important identifier columns as text.

Will fields that appear in later objects be dropped?

No. All field names are merged in first-seen order. Adjust column order after conversion, then convert again. Fields not named in a batch order are appended rather than discarded.

How are null and missing fields exported?

Both become empty CSV cells. CSV does not preserve that distinction or JSON types, so keep your original JSON when these details matter.

Why does a cell start with an apostrophe?

Default formula protection prefixes potentially dangerous cells and headers, including negative values. The preview and change count make this visible. You can turn protection off for a trusted destination, but raw content may execute in spreadsheets.

Can I use a different delimiter or omit the BOM?

Yes. Choose comma, semicolon, tab or pipe, and toggle Include UTF-8 BOM. Every field is quoted, internal quotes are doubled and records use CRLF line endings.