The whole file ends up in memory
A JSON array cannot be written incrementally the way JSONL can be, so the full document is assembled before download. Very large JSONL files are better left as they are.
Most tools that say "JSON" mean a single array. A JSONL file is not that, and handing one to a standard parser produces an error on line two. This converter collects the lines into a proper JSON array you can pass anywhere.
Reading JSONL
Auto-detect reads the first rows and picks the separator that splits them consistently.
Turn off when the file starts straight into data. Columns are then named column_1, column_2, and so on.
Turns "42" into a number and "true" into a boolean. Values with leading zeros stay text so IDs and zip codes survive.
Which worksheet to convert. Filled in once the workbook is read.
Dotted path to the array of records, such as data.items. Leave empty to use the whole document.
Turns {"user":{"id":7}} into a user.id column. Arrays are kept as JSON text.
Pick the encoding the file was written in. Wrong encoding shows up as garbled accents.
Comma-separated words that should become null instead of text.
Writing JSON
Snappy is the default across Spark, DuckDB and pandas. Gzip is smaller but slower to read.
Turns a user.id column back into {"user":{"id":7}}.
Excel needs a byte order mark to open UTF-8 files with accents correctly.
Rows per row group. Larger groups compress better; smaller groups let readers skip more.
conversion-preroll
This short ad is what keeps the converter free.
One JSON object per line, built for streaming and appending. Nested, self-describing records that every language can read.
| JSONL | JSON | |
|---|---|---|
| Type information | Strings, numbers, booleans, null | Strings, numbers, booleans, null |
| Structure | One nested object per line | Nested objects and arrays |
| Compression | None | None |
| Typical file size | Slightly under JSON | Largest — keys repeat on every record |
| Schema | Implicit, per line | Implicit, per record |
| Human-readable | Yes, one record at a time | Yes, though verbose |
| Tool support | Log pipelines, LLM training sets, BigQuery | Every language, natively |
A JSON array cannot be written incrementally the way JSONL can be, so the full document is assembled before download. Very large JSONL files are better left as they are.
Pretty-printing with four spaces can add a large fraction to the file size. Choose minified output if the result is going to a machine.
A partial final record — common in copied log files — is skipped and counted in the warnings.
Many APIs, config loaders and import dialogs accept nothing else.
Indented JSON is far easier to scan than dense single lines.
A plain array works with the standard library everywhere.
sticky-bottomYour file is downloading
post-conversion