Files and data

JSONL to CSV converter

Convert newline-delimited JSON with heterogeneous columns, invalid-line reporting and typed cell values.

Runs on your device · No upload

UTF-8 text up to 5 MiB, 50,000 lines and 1,000 distinct columns. Each record must be an object. Blank lines are ignored and counted. Values are limited to 100 nesting levels.

Ready when JavaScript is loaded.

How to use it

  1. Paste one JSON object per line or choose a UTF-8 JSONL file.
  2. Select typed cells when null, empty strings, missing keys and nested values must remain distinct.
  3. Review invalid-line diagnostics and download the exported table.

Columns follow every valid record

The converter takes the union of object keys, so a field that appears near the end still receives a column. Nested arrays and objects are serialized inside a cell. In the default typed mode, present cells contain JSON text: null, "", and a string containing "null" stay distinguishable. An absent key produces an empty CSV cell.

Invalid records stay visible

Conversion stops if any record is malformed unless you explicitly choose to skip invalid records. The report identifies line numbers. Duplicate object keys and numbers whose decimal value would change during JavaScript serialization are rejected; quote long identifiers and high-precision numbers before conversion.

Spreadsheet protection prefixes potentially executable cells with an apostrophe. The report counts those changes. Turn it off only when you need exact text and control how the destination imports it.

Standards and references

Your input stays in this tab

Files and pasted values are processed in your browser. They are not uploaded, stored in your URL or saved to browser storage. Download the result if you want to keep it. CSV exports are limited to 1,000,000 cells and 20 MiB; large or sparse tables must be split. The site records aggregate page requests as described in the privacy policy.

More tools

Browse every tool