Want to convert XML to JSON lines (JSONL / NDJSON / LDJSON)?
Try Withdata Data File Converter, a desktop XML to JSON converter for Windows, MacOS, and Linux, Convert XML 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 XML file(s) to online services.
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 XML to JSON lines (JSONL / NDJSON / LDJSON)
Choose XML file -> Set target JSON Lines (JSONL / NDJSON / LDJSON) file -> Convert XML 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 XML file.

The XML content:

2. Config target JSON Lines (JSONL / NDJSON / LDJSON) file.

3. Set rows options.

4. Convert XML to JSON lines (JSONL / NDJSON / LDJSON).

See JSON lines file

Convert XML to JSON lines (JSONL / NDJSON / LDJSON) in command line
Save “XML to JSON Lines” session, then you can:
- Convert XML to JSON lines (JSONL / NDJSON / LDJSON) in Windows command line.
- Convert XML to JSON lines (JSONL / NDJSON / LDJSON) in Linux command line.
- Convert XML to JSON lines (JSONL / NDJSON / LDJSON) in macOS command line.
Set scheduled tasks for converting XML 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 “XML to JSON lines” conversion.
- Set scheduled task for “XML to JSON lines” conversion.
FAQ
More tools for JSONL / NDJSON / LDJSON.
XML → JSON Lines reference
Type mapping
| Value kind | in XML | in JSON Lines |
|---|---|---|
| Int | <int>1234</int> | 1234 (number) |
| Bigint | <bigint>9007199254740993</bigint> | 9007199254740993 |
| Decimal | <decimal>1234.56</decimal> | 1234.56 (number) |
| Float | <float>1.234e10</float> | 1.234e10 (number) |
| Text | <char>text</char> | "text" (string) |
| Long text | <text>multi-line text</text> (entities for & <) | "multi-line\ntext" |
| Date | <date>2026-09-18</date> (xs:date with an XSD) | "2026-09-18" (string) |
| Datetime | <datetime>2026-09-18T14:30:00Z</datetime> (xs:dateTime) | "2026-09-18T14:30:00Z" (string) |
| Binary | <blob>base64...</blob> (xs:base64Binary) | "base64:..." (string) |
| Boolean | <bool>true</bool> | true / false (boolean) |
| JSON | escaped inside an element, or its own sub-tree | nested object on the same line |
Dialect differences
Both XML and JSON Lines are file formats, so what differs below is how each one chooses to represent a value.
| Property | in XML | in JSON Lines |
|---|---|---|
| identifiers | Attribute values in quotes; entities (& < >) for ... | Double quotes; backslash escapes (a newline inside a string... |
| dates | Text (xs:date / xs:dateTime when an XSD is in play) | No date type: dates arrive as strings |
| binary | base64Binary / hexBinary inside text | Not supported natively - base64 inside a string |
| separator | Tags, not delimiters | Newline between records |
| encoding | Declared in the XML declaration | UTF-8 by definition |
| typing | None in the markup itself | Same as JSON, but records cannot nest across lines |
| shape | Arbitrary tree | Flat stream |
| ceiling | Whole document is usually parsed into 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.
