SmartQueryTools

Convert NDJSON to Excel Online

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

About converting NDJSON to Excel

Converting NDJSON to Excel is usually about handing log or event data to someone who will filter and annotate it: an incident review, an audit sample, a batch of flagged transactions from a fraud stream, or model outputs for a reviewer to label. Each line becomes a spreadsheet row on Sheet1, and each key becomes a column heading in row 1.

Log files are long, and Excel stops at 1,048,576 rows per sheet. A busy service can write that many lines in an hour, so filter to the time window or error level you need, or take a sample, before converting. Timestamps copied from the JSON as ISO text land in text cells; they sort correctly as text but will not respond to Excel date filters until converted.

Nested fields stay in one cell. When a line contains an object or an array, such as an err object or a tags list, the matching cell holds it as compact JSON text. For chat or evaluation datasets in JSONL, the whole messages array lands in a single cell, which Excel cuts off at 32,767 characters. Flatten objects first, and pull the values you need out of arrays with a SQL query before converting.

Worked example

A small sample file, converted with the default settings.

Input (NDJSON)

{"ts":"2026-03-02T14:05:11.042Z","level":"info","service":"checkout","status":200,"latency_ms":41.7,"user_id":"u_1842"}
{"ts":"2026-03-02T14:05:12.310Z","level":"error","service":"checkout","status":502,"latency_ms":3012.4,"user_id":null}
{"ts":"2026-03-02T14:05:12.877Z","level":"info","service":"search","status":200,"latency_ms":12.9,"user_id":"u_0077"}
{"ts":"2026-03-02T14:05:14.105Z","level":"warn","service":"search","status":429,"latency_ms":0.8,"user_id":"u_1842"}

Output (Excel)

Excel workbook, first sheet (Sheet1)

tslevelservicestatuslatency_msuser_id
2026-03-02T14:05:11.042Zinfocheckout20041.7u_1842
2026-03-02T14:05:12.310Zerrorcheckout5023012.4NULL
2026-03-02T14:05:12.877Zinfosearch20012.9u_0077
2026-03-02T14:05:14.105Zwarnsearch4290.8u_1842

What changes when you convert NDJSON to Excel

  • Row 1 holds the keys: ts, level, service, status, latency_ms and user_id.
  • status and latency_ms are numeric cells, so you can sum or average them.
  • The ts values are text cells containing 2026-03-02T14:05:11.042Z and similar.
  • The null user_id on the error line leaves a blank cell.
  • Objects and arrays inside a line leave their cells empty.

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

Why does the messages column contain raw JSON?

messages is an array of objects, and a spreadsheet cell can only hold a plain value, so the array is written as JSON text. Extract the text you need into its own key with the SQL Query tool, export that as JSON, and convert the result.

Can Excel treat the ts column as real dates?

Add a helper column with =DATEVALUE(LEFT(A2,10))+TIMEVALUE(MID(A2,12,8)) and format it as a date and time. That ignores the Z, so the result is in UTC.

My log has more than a million lines. What should I do?

Reduce it first. Use Filter NDJSON to keep error lines or a time range, or Sample NDJSON for a random subset. If you need every line, convert to CSV or Parquet instead of Excel.

What is Excel format?

Excel (XLSX) is Microsoft's spreadsheet format, widely used in business. It supports multiple sheets, formulas, and formatting.

Related Tools