Back to Free Tools

FREE TOOLS

JSON to CSV

Convert a JSON array of objects to CSV in your browser, with a choice of delimiters.

JSON array of objects

CSV (UTF-8)

Browser only

Your JSON is processed in this browser. Input text and file bytes are not uploaded. Reset clears the current input and output from this tool.

This tool needs JavaScript. If it does not load, refresh the page and try again.

How to use this tool

  1. Paste a JSON array of objects, or choose a UTF-8 .json file.
  2. Choose comma, semicolon or tab as the delimiter. Spreadsheet formula protection is enabled by default.
  3. Choose Convert to CSV, then review the row count, column count and preview.
  4. Download the CSV. Cancel stops processing; Reset clears the input and output. Editing any input removes the previous download.

Examples

For example, convert [{"name":"Alice","age":30},{"name":"Bob","age":29}] into a table with name and age columns.

Limitations

Input must be a nonempty array of non-null objects. Limits are 5 MiB of UTF-8 input, 10,000 rows, 200 columns, 200,000 cells, nesting depth 40 and 20 MiB of CSV output. Numeric tokens are limited to 128 characters. Optional files must use the .json extension and valid UTF-8.

Columns follow JavaScript key order within each object and first encounter across records; integer-like keys come first. Missing values and null become empty cells. Nested objects and arrays are serialized as compact JSON in one cell rather than flattened. Repeated object keys use the last value.

All CSV headers and values are quoted, with quotation marks doubled and CRLF record endings. Output is UTF-8 without a byte-order mark (BOM). The preview shows at most 10 rows and 8 columns, with long values shortened to 200 characters; the download includes the full accepted table.

Numbers that lose decimal value, overflow, underflow or exceed the safe integer range are rejected. Quote these values as JSON strings to preserve them. Equivalent numeric spellings are normalized, and negative zero becomes 0.

Spreadsheet formula protection is enabled by default: formula-like string cells and headers receive a leading apostrophe. Negative numeric values remain numbers. Turn protection off only when you intend to preserve those string values unchanged.

Related tools

No items found.

More tools for your workflow

Explore the related desktop tool