SmartQueryTools

Convert Excel to NDJSON Online

Convert Excel files to NDJSON format directly in your browser. No upload required — your data never leaves your device.

About converting Excel to NDJSON

NDJSON (newline-delimited JSON, also called JSON Lines) puts one JSON object on each line. Excel data is converted to NDJSON mostly for loading into systems that ingest records line by line: BigQuery load jobs, mongoimport, many log and search pipelines, and scripts that process a file one record at a time without reading it all into memory.

Each row of the first sheet becomes a single line. There is no enclosing array and no comma between records, so you can split the file, append to it or count records with wc -l. Keys come from the header row, so check for duplicate or blank headers. A blank header cell becomes a key such as column1, and a repeated header gets a suffix so keys stay unique.

Watch for rows that are empty in Excel but still inside the used range. They become lines where every value is null, which loaders will accept as real records. Rows added far below the data by accidental formatting cause the same problem. Delete empty rows first, or filter them out afterwards with the Filter tool. Excel caps a sheet at 1,048,576 rows, so one converted sheet never exceeds that many lines.

Worked example

A small orders export with an ID, a customer name, a date, an amount (one missing) and a true/false flag, converted with the default settings.

Input (Excel)

Excel workbook, first sheet (Sheet1)

order_idcustomerorder_dateamountshipped
1001Acme Ltd2026-03-02249.5true
1002Brightside Co2026-03-021200false
1003Acme Ltd2026-03-0589.99true
1004Northwind2026-03-07NULLfalse

Output (NDJSON)

{"order_id":1001,"customer":"Acme Ltd","order_date":"2026-03-02","amount":249.5,"shipped":true}
{"order_id":1002,"customer":"Brightside Co","order_date":"2026-03-02","amount":1200,"shipped":false}
{"order_id":1003,"customer":"Acme Ltd","order_date":"2026-03-05","amount":89.99,"shipped":true}
{"order_id":1004,"customer":"Northwind","order_date":"2026-03-07","amount":null,"shipped":false}

What changes when you convert Excel to NDJSON

  • Each spreadsheet row becomes one compact JSON object on its own line.
  • There are no surrounding brackets and no trailing commas.
  • Numbers and booleans are unquoted. Dates are ISO strings such as "2026-03-02", whatever format Excel displayed.
  • Empty cells become null. Order 1004's line contains "amount":null.
  • Line count equals the number of data rows. The header row is not a line of its own.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Frequently Asked Questions

What is the difference between NDJSON and JSON Lines?

None in practice. Both mean one JSON value per line separated by newline characters. The file is saved with a .ndjson extension; rename it to .jsonl if your tool expects that.

Can I load the NDJSON output straight into BigQuery?

Yes. Choose the JSONL (newline-delimited JSON) source format. Check that header names are valid BigQuery column names first, since spaces and symbols in Excel headers are kept as-is in the keys.

Why does my NDJSON have lines full of nulls?

Those are blank rows inside the sheet's used range. Delete them in Excel, or clear formatting from the empty rows below your data, then convert again.

What is NDJSON format?

NDJSON (Newline-Delimited JSON) stores one JSON object per line, making it easy to stream, append, and process incrementally.

Related Tools