Want to convert CSV to JSON lines (JSONL / NDJSON / LDJSON)?
Try Withdata Data File Converter, a desktop CSV to JSON converter for Windows, MacOS, and Linux, Convert CSV to JSON lines, Easy and Fast.
- Can run in GUI mode, Step by Step, just a few mouse clicks.
- Can run in Command line, for Scheduled Tasks and Streams.
- Convert files locally and privately, avoid uploading large CSV file(s) to online services.
Download DataFileConverter
Windows 64 bit
Windows 32 bit
Linux .deb (For Debian, Ubuntu) 64 bit
Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit
MacOS 64 bit
JSON Lines text format (JSONL), also called Newline-delimited JSON (NDJSON), or Line-delimited JSON (LDJSON). JSON Lines files may be saved with the file extension .jsonl, *.ndjson, *.ldjson.
Convert CSV to JSON lines (JSONL / NDJSON / LDJSON)
Choose CSV file -> Set target JSON Lines (JSONL / NDJSON / LDJSON) file -> Convert CSV to JSON lines (JSONL / NDJSON / LDJSON)
Click “Start a New Convert” at task dialog.
then show the wizard.
Select source/target file type.
1. Open a CSV file.
The CSV content:
2. Config target JSON Lines (JSONL / NDJSON / LDJSON) file.
3. Set rows options.
4. Convert CSV to JSON lines (JSONL / NDJSON / LDJSON).
See JSON lines file
Convert CSV to JSON lines (JSONL / NDJSON / LDJSON) in command line
Save “CSV to JSON Lines” session, then you can:
- Convert CSV to JSON lines (JSONL / NDJSON / LDJSON) in Windows command line.
- Convert CSV to JSON lines (JSONL / NDJSON / LDJSON) in Linux command line.
- Convert CSV to JSON lines (JSONL / NDJSON / LDJSON) in macOS command line.
Set scheduled tasks for converting CSV to JSON lines (JSONL / NDJSON / LDJSON)
You can schedule and automate this converting task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “CSV to JSON lines” conversion.
- Set scheduled task for “CSV to JSON lines” conversion.
FAQ
More tools for JSONL / NDJSON / LDJSON.
Download Withdata DataFileConverter
Windows 64 bit
Windows 32 bit
Linux .deb (For Debian, Ubuntu) 64 bit
Linux .rpm (For Red Hat, Fedora, SUSE) 64 bit
MacOS 64 bit
CSV → JSON Lines reference
Type mapping
| Value kind | in CSV | in JSON Lines |
|---|---|---|
| Int | 1234 | 1234 (number) |
| Decimal | 1234.56 | 1234.56 (number) |
| Float | 1.234e+10 | 1.234e10 (number) |
| Text | quoted only when it contains a comma or a quote | "text" (string) |
| Long text | must be quoted; line breaks inside force multi-line records | "multi-line\ntext" |
| Date | 2026-09-18 | "2026-09-18" (string) |
| Datetime | 2026-09-18 14:30:00 | "2026-09-18T14:30:00Z" (string) |
| Binary | not representable - base64 or hex string | "base64:..." (string) |
| Boolean | TRUE / FALSE, or 1 / 0 depending on the writer | true / false (boolean) |
| JSON | the whole JSON value quoted, with internal quotes doubled | nested object on the same line |
Dialect differences
Both CSV and JSON Lines are file formats, so what differs below is how each one chooses to represent a value.
| Property | in CSV | in JSON Lines |
|---|---|---|
| identifiers | Double quotes; a literal quote is doubled ("" ) | Double quotes; backslash escapes (a newline inside a string... |
| dates | Conventional text: 2026-09-18 or 2026-09-18 14:30:00 | No date type: dates arrive as strings |
| binary | Not supported | Not supported natively - base64 inside a string |
| separator | Comma "," | Newline between records |
| encoding | No declaration - UTF-8 works only with a BOM | UTF-8 by definition |
| typing | None - every field is text | Same as JSON, but records cannot nest across lines |
| shape | Flat table, optional header row | Flat stream |
| ceiling | No formal limit; row count bounded by memory | Streams, so it scales past what a single JSON document can ... |
Data File Converter without the manual work
For batch jobs, large files and scheduling use the Data File Converter converter — an offline desktop app for Windows, Linux and macOS. Free trial.