Rowlode
EN
EnglishEspañolPortuguêsFrançais

Convert a large CSV to JSON or NDJSON

Most online CSV-to-JSON converters choke at a few megabytes and want you to upload the data. For big files, the format choice matters as much as the tool.

Updated 2026-10-26 · 4 min read

JSON array or NDJSON?

JSON arrayNDJSON (JSON Lines)
Shape[{…},{…}]one {…} per line
StreamingReader must parse the whole fileLine by line
Typical useSmall API payloads, configBigQuery, Elasticsearch bulk, MongoDB mongoimport, log pipelines

For anything over a few hundred MB, NDJSON is usually what the target system wants.

Types and pitfalls

  • CSV has no types. Decide whether IDs with leading zeros stay strings (they should).
  • Empty cells: empty string or null? Check what the importer expects.
  • Duplicate or blank header names produce ambiguous keys – rename them first.
  • Encoding: JSON must be UTF-8; convert legacy-encoded CSVs first.

Code options

python -c "import pandas as pd; pd.read_csv('in.csv', dtype=str).to_json('out.ndjson', orient='records', lines=True)" – simple, but loads everything into memory. DuckDB can stream: COPY (SELECT * FROM 'in.csv') TO 'out.json' (FORMAT JSON);.

No-code, offline

Open the CSV in Rowlode, optionally filter rows, remove duplicates and choose/reorder columns, then export JSON or NDJSON. You can split the output every N rows or MB if the target has an upload limit. The file never leaves your computer.

Have a big or messy CSV? Rowlode opens CSV files with millions of rows (multi-GB) in your browser, reading them from disk – filter, remove duplicates, sort, fix delimiter and encoding, and export CSV, Excel (split under the row limit), TSV, JSON or NDJSON. Nothing is uploaded. Viewing, filtering and dedupe are free; each export holds the first 10,000 rows until you buy a $12 lifetime license.

Open Rowlode – free

Questions and answers

Can I convert JSON back to CSV with Rowlode?

No, Rowlode reads delimited text (CSV/TSV/TXT) only.

Is there a size limit?

Reading is streamed from disk; the export is assembled by the browser, so very large outputs need that much free disk/memory. Splitting the output helps.

Sources and product names: JSON Lines specification (jsonlines.org); DuckDB COPY documentation; MongoDB mongoimport documentation. Microsoft Excel and Power Query are trademarks of Microsoft; Google Sheets is a trademark of Google. Rowlode is independent and not affiliated with them.