CSV to JSON Lines converter
CSV rows are normalised by our table engine before JSON Lines is written, preserving row order and typed values for csv-to-jsonl.
- Converted with Table engine · nothing stored
- Free: 5 conversions a day · 5 MB each
- Higher limits →
What changes
- CSV rows are normalised by our table engine before JSON Lines is written, preserving row order and typed values for csv-to-jsonl.
- Nested CSV values use flattened column names, while JSONL receives arrays according to the arrayMode setting.
- The converter treats the file as one logical table, so comments, prose around tables, and source metadata are skipped.
- Numbers, booleans, dates, blanks, and strings are inferred and then serialized in the destination format's native shape.
- Delimiter, encoding, newline, and header choices apply only where CSV or JSONL is a text table.
- The JSONL result focuses on portable data, not formulas, rich layout, or application-specific metadata.
A real CSV → JSON Lines run
We converted our CSV sample (226 B) with Table engine on 2026-09-11. It took 1 ms and produced a 467 B JSON Lines file, 2.1× larger than the input. The engine raised no warnings.
Input · sample.csv · 226 B
4 data rows × 5 columns; header: company,stage,arr,owner,close_date
- Rows
- 4
- Columns
- 5
- Header
- company,stage,arr,owner,close_date
Output · sample.jsonl · 467 B
4 JSON objects, one per line; keys: company, stage, arr, owner, close_date
- Records
- 4
- Keys
- company, stage, arr, owner, close_date
First lines of the output
{"company":"Northwind Traders","stage":"Proposal","arr":48000,"owner":"R. Ayers","close_date":"2026-10-14T00:00:00.000Z"}
{"company":"Contoso Ltd","stage":"Negotiation","arr":120000,"owner":"P. Ng","close_date":"2026-09-30T00:00:00.000Z"}
{"company":"Fabrikam","stage":"Qualified","arr":22500,"owner":"R. Ayers","close_date":"2026-11-02T00:00:00.000Z"}
{"company":"Tailspin Toys","stage":"Won","arr":64000,"owner":"M. Okafor","close_date":"2026-09-03T00:00:00.000Z"}Options
- delimiter
- Choose comma, tab, pipe, semicolon, or another separator for delimited text input or output.
- header
- Treat the first delimited row as field names instead of generated column labels.
- quote
- Set the quote character used when parsing CSV, TSV, or TXT fields.
- encoding
- Decode UTF-8 or Latin-1 text before parsing table-oriented formats.
Example
name,score
Ada,9
Bo,7{"name":"Ada","score":9}
{"name":"Bo","score":7}Do it in code
import pandas as pd
df = pd.read_csv("input.csv")
df.to_json("output.jsonl", orient="records", lines=True)CSV to JSON Lines by API or MCP
The HTTP API and the MCP server run the exact engine this page uses (Table engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=csv&to=jsonl.
curl -X POST https://filetypeconverters.com/api/v1/convert \
-H "Authorization: Bearer $FTC_API_KEY" \
-F "file=@input.csv" -F "from=csv" -F "to=jsonl" \
-F 'options={"delimiter":","}' \
--output output.jsonlOptions this engine accepts for CSV → JSON Lines
| Key | Applies to | Type | Default |
|---|---|---|---|
| delimiter | Reading CSV | string | , |
| header | Reading CSV | boolean | true |
| quote | Reading CSV | string | " |
| encoding | Reading CSV | utf-8 · latin1 | utf-8 |
| delimiter | Writing JSON Lines | string | , |
| newline | Writing JSON Lines | · | |
| sheetName | Writing JSON Lines | string | |
| dialect | Writing JSON Lines | postgres · mysql · sqlite | postgres |
| tableName | Writing JSON Lines | string | data |
| createTable | Writing JSON Lines | boolean | true |
This converter works today; a tested write-up of what changes for CSV → JSON Lines is in progress.