Convert CSV to JSONL

JSON Lines is what bulk loaders, log pipelines and training sets expect: one self-contained JSON object per line, streamable without loading the whole file. This converter turns a CSV into exactly that, with real types rather than strings everywhere.

  • Runs in your browser
  • No signup
  • No upload
  • Free

CSVJSONL

Runs on your device
Options

Reading CSV

Writing JSONL

Work with Parquet as well?See ParquetReader with ParquetReader — opens Parquet files directly.
What happens

How this converter handles CSV to JSONL

  1. Parses the CSV with automatic delimiter detection and full quoted-field handling.
  2. Converts values to real JSON types — numbers, booleans and nulls, with leading zeros kept as text.
  3. Writes one compact JSON object per line, with no wrapping array.
  4. Can rebuild nesting from dotted headers so each line carries a nested object.
Format differences

CSV vs JSONL

Plain text rows that open anywhere, with no types and no schema. One JSON object per line, built for streaming and appending.

CSVJSONL
Type informationNone — every value is textStrings, numbers, booleans, null
StructureFlat rows and columnsOne nested object per line
CompressionNoneNone
Typical file sizeBaseline (100%)Slightly under JSON
SchemaHeader row at bestImplicit, per line
Human-readableYes, in any text editorYes, one record at a time
Tool supportUniversalLog pipelines, LLM training sets, BigQuery
Worth knowing

What to watch out for

The result is not valid JSON as a whole

There is no enclosing array and no commas between records, so a standard JSON parser will reject the file. It must be read line by line — which is the entire point of the format.

Every line repeats the keys

JSONL is larger than the CSV it came from, because each record carries its own field names. That is the cost of every line being independently parseable.

Empty fields become null, not empty string

An empty CSV cell has no way to distinguish "blank" from "missing". It becomes null here. Turn off type detection if you need empty strings preserved as strings.

When you need this

Common reasons to convert CSV to JSONL

Bulk loading into BigQuery

Newline-delimited JSON is a native BigQuery import format.

Preparing fine-tuning or evaluation datasets

JSONL is the standard format for model training data.

Feeding a streaming consumer

A line-based reader can start work immediately rather than waiting for the full file.

FAQ

CSV to JSONL questions

Is my CSV uploaded?
No. The conversion runs in your browser using WebAssembly and JavaScript. The file is read from your disk into a Web Worker, converted in memory, and handed back as a download. It is never sent to a server, so there is nothing for us to store, log or leak.
What is the difference between this and CSV to JSON?
JSON produces one array containing every record, which a parser must read entirely. JSONL produces one object per line, which can be streamed and appended to. Pick JSONL for pipelines and JSON for documents.
Is the output minified?
Yes. Each line is a compact JSON object, since pretty-printing would break the one-record-per-line contract.
Can each line be a nested object?
Yes — use dotted headers and enable "Rebuild nested objects".
Which extension should I use?
Either .jsonl or .ndjson. They are interchangeable; .jsonl is the more common choice today.