Want to convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV file?
Try Withdata Data File Converter, a JSON lines to CSV converter for Windows, Mac, and Linux, Convert JSON Lines to CSV, 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 JSON file(s) to online services.
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
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 JSON Lines (JSONL / NDJSON / LDJSON) to CSV file
Choose JSON Lines (JSONL / NDJSON / LDJSON) file -> Set target CSV file -> Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV
Click “Start a New Convert” at task dialog.
then show the wizard.
Select source/target file type.
1. Open a JSON Lines (JSONL / NDJSON / LDJSON) file.
2. Config target CSV file.
3. Set rows options.
4. Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV.
See CSV file
Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV in command line
Save “JSON Lines (JSONL / NDJSON / LDJSON) to CSV” session, then you can:
- Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV in Windows command line.
- Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV in Linux command line.
- Convert JSON Lines (JSONL / NDJSON / LDJSON) to CSV in macOS command line.
Set scheduled tasks for converting JSON Lines (JSONL / NDJSON / LDJSON) to CSV
You can schedule and automate this converting task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “JSON Lines to CSV” conversion.
- Set scheduled task for “JSON Lines to CSV” 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
JSON Lines → CSV reference
Type mapping
| Value kind | in JSON Lines | in CSV |
|---|---|---|
| Int | 1234 (number) | 1234 |
| Decimal | 1234.56 (number) | 1234.56 |
| Float | 1.234e10 (number) | 1.234e+10 |
| Text | "text" (string) | quoted only when it contains a comma or a quote |
| Long text | "multi-line\ntext" | must be quoted; line breaks inside force multi-line records |
| Date | "2026-09-18" (string) | 2026-09-18 |
| Datetime | "2026-09-18T14:30:00Z" (string) | 2026-09-18 14:30:00 |
| Binary | "base64:..." (string) | not representable - base64 or hex string |
| Boolean | true / false (boolean) | TRUE / FALSE, or 1 / 0 depending on the writer |
| JSON | nested object on the same line | the whole JSON value quoted, with internal quotes doubled |
Dialect differences
Both JSON Lines and CSV are file formats, so what differs below is how each one chooses to represent a value.
| Property | in JSON Lines | in CSV |
|---|---|---|
| identifiers | Double quotes; backslash escapes (a newline inside a string... | Double quotes; a literal quote is doubled ("" ) |
| dates | No date type: dates arrive as strings | Conventional text: 2026-09-18 or 2026-09-18 14:30:00 |
| binary | Not supported natively - base64 inside a string | Not supported |
| separator | Newline between records | Comma "," |
| encoding | UTF-8 by definition | No declaration - UTF-8 works only with a BOM |
| typing | Same as JSON, but records cannot nest across lines | None - every field is text |
| shape | Flat stream | Flat table, optional header row |
| ceiling | Streams, so it scales past what a single JSON document can ... | No formal limit; row count bounded by memory |
Do it online, free
Skip the manual work — convert JSON to CSV online, free (runs in your browser, nothing is uploaded). For large files or batch jobs, use the desktop apps.