Skip to content

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

jsonl
{"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

input
name,score
Ada,9
Bo,7
output
{"name":"Ada","score":9}
{"name":"Bo","score":7}

Do it in code

python
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
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.jsonl

Options this engine accepts for CSV → JSON Lines

KeyApplies toTypeDefault
delimiterReading CSVstring,
headerReading CSVbooleantrue
quoteReading CSVstring"
encodingReading CSVutf-8 · latin1utf-8
delimiterWriting JSON Linesstring,
newlineWriting JSON Lines ·
sheetNameWriting JSON Linesstring
dialectWriting JSON Linespostgres · mysql · sqlitepostgres
tableNameWriting JSON Linesstringdata
createTableWriting JSON Linesbooleantrue
API reference

This converter works today; a tested write-up of what changes for CSV → JSON Lines is in progress.