Want to import data from JSON Lines (JSONL / NDJSON / LDJSON) file to MySQL ?
Try Withdata FileToDB, a desktop JSONL to MySQL converter for Windows, MacOS, and Linux, Import JSON Lines to MySQL, 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 locally and privately, avoid uploading large or private JSONL 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.
Import data from JSON Lines (JSONL / NDJSON / LDJSON) file to MySQL
Login to MySQL -> Choose JSON Lines file -> Set MySQL table -> Import JSON Lines to MySQL
Choose MySQL and logon.

Click “Wizard – 1 File To 1 Table” at task dialog.

Select the “JSON” file type.

then show the wizard.
1. Open a JSON Lines (JSONL / NDJSON / LDJSON) file.
Support large ( > 4GB ) JSON Lines file.

Here is the file’s content.

FileToDB will parse JSON Lines file.
2. Select a MySQL table and config fields.

3. Preview data will be in MySQL table.

4. Import JSON Lines data to MySQL.

View imported data in MySQL table

Convert JSON Lines (JSONL / NDJSON / LDJSON) to MySQL in command line
Save “JSON Lines to MySQL” session, then you can:
- Import JSON Lines (JSONL / NDJSON / LDJSON) to MySQL in Windows command line.
- Import JSON Lines (JSONL / NDJSON / LDJSON) to MySQL in Linux command line.
- Import JSON Lines (JSONL / NDJSON / LDJSON) to MySQL in macOS command line.
Set scheduled tasks for converting JSON Lines (JSONL / NDJSON / LDJSON) to MySQL
You can schedule and automate this “JSON Lines to MySQL” conversion task by:
- Save session and create .bat (Windows) or .sh (Linux/macOS) file for “JSON Lines to MySQL” conversion.
- Set scheduled task for “JSON Lines to MySQL” conversion.
FAQ
More tools for JSONL / NDJSON / LDJSON.
JSON Lines → MySQL reference
Type mapping
| Value kind | in JSON Lines | in MySQL |
|---|---|---|
| Int | 1234 (number) | INT |
| Bigint | 9007199254740993 | BIGINT |
| Decimal | 1234.56 (number) | DECIMAL(p,s) |
| Float | 1.234e10 (number) | DOUBLE |
| Text | "text" (string) | VARCHAR(n) |
| Long text | "multi-line\ntext" | LONGTEXT |
| Date | "2026-09-18" (string) | DATE |
| Datetime | "2026-09-18T14:30:00Z" (string) | DATETIME |
| Binary | "base64:..." (string) | LONGBLOB |
| Boolean | true / false (boolean) | TINYINT(1) |
| JSON | nested object on the same line | JSON |
Dialect differences
JSON Lines is a file format and MySQL is a database server, so the target has to be told the types the file never carried - the rows below are where the two sides diverge.
| Property | in JSON Lines | in MySQL |
|---|---|---|
| port | — | 3306 |
| identifiers | Double quotes; backslash escapes (a newline inside a string... | `backtick` |
| row limit | — | LIMIT n |
| dates | No date type: dates arrive as strings | DATETIME, TIMESTAMP, DATE, TIME |
| long text | — | TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT |
| binary | Not supported natively - base64 inside a string | BLOB / TINYBLOB / LONGBLOB |
| separator | Newline between records | — |
| encoding | UTF-8 by definition | — |
| typing | Same as JSON, but records cannot nest across lines | — |
| shape | Flat stream | Tables of rows and columns |
| ceiling | Streams, so it scales past what a single JSON document can ... | — |
Command line
| Side | Command |
|---|---|
| MySQL | mysqldump, or mysql -e "SELECT ..." > out.csv |
| MySQL (load) | mysqlimport, or LOAD DATA INFILE |
Convert your data online, free
Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.
