Data format

JSONL converter

A .jsonl file is JSON Lines: one complete JSON value per line, separated by newlines, with no enclosing array. It exists so that a large dataset can be appended to, streamed and processed one record at a time without holding the whole thing in memory.

Private for supported formats — processed in your browser

Convert supported files

Runs on your device

Drop JSONL files here

Batch files can each use a different output. Nothing uploads for local conversions.

Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.

Where JSONL comes from

JSON Lines was documented as a convention around 2013 rather than standardised by any body, formalising what log pipelines and data tools were already doing. Its adoption tracked the rise of streaming data processing — BigQuery, Spark, Elasticsearch bulk APIs and nearly every ML training pipeline accept it — because an array-wrapped JSON file cannot be appended to without rewriting its final byte.

How JSONL works

  • Each line is an independent, complete JSON value, so a truncated file loses only its last record.
  • Lines are separated by \n; the format does not permit a pretty-printed record spanning several lines.
  • There is no schema and no header, so records in one file may legitimately differ in shape.
  • Appending is a pure write with no seek, which is the entire reason the format exists.
  • UTF-8 is assumed; there is no encoding declaration inside the file.

When to use JSONL

  • Structured logs and event streams
  • Machine-learning training and evaluation datasets
  • Bulk import into search engines and data warehouses
  • Processing a dataset larger than memory, one record at a time

Strengths and limitations

Strengths

  • Appendable and streamable without rewriting or reparsing the file
  • A corrupt or truncated line costs one record rather than the whole dataset
  • Trivially splittable across workers on line boundaries

Limitations

  • No schema, so heterogeneous records can hide until something downstream breaks
  • Not valid JSON as a whole, which surprises tools that expect a single document
  • Pretty-printing is impossible without breaking the format

Compatibility

Read natively by pandas, Spark, BigQuery, Elasticsearch, DuckDB and most log tooling; not by anything expecting a single JSON document. Novus Convert parses it locally and converts to JSON, CSV, XLSX and ODS, treating each line as one row.

None. Records carry their own fields and the file carries nothing about itself.