JSONL ⇄ Excel Converter
Turn a JSON Lines file into an Excel sheet with one row per line, or export a workbook back to JSONL, for files up to 200MB.
Or convert a .jsonl file directly — supports files up to 200MB
Drag & drop a file here, or click to browse
Processed in the background, so the page stays responsive even for huge files
How to use this tool
Paste JSONL (one JSON object per line) and click convert to download an Excel spreadsheet with one row per line. Switch to Excel → JSONL to upload a workbook and export each row as a compact JSON object, one per line — a common format for log ingestion and LLM fine-tuning datasets. Files up to 200MB are supported — large uploads are processed in a background Web Worker so the page never freezes, and processing happens locally in your browser.
From log lines to rows
Two lines from an application log:
{"ts":"2026-09-24T10:02:11Z","level":"info","msg":"login","user":"u_81"}
{"ts":"2026-09-24T10:02:15Z","level":"error","msg":"payment failed","user":"u_81","code":"CARD_DECLINED"}become a two-row sheet with the columns ts, level, msg, user and code. The code column exists because the second line has it, and the first row leaves it blank. In Excel you can then filter on level = error, sort by time, or count errors per user with a pivot table, none of which is practical when reading the raw file.
When a log is too long for one sheet
A worksheet holds 1,048,576 rows including the header, and busy services write more lines than that in a day. The converter checks the line count before building the workbook and tells you if it won't fit. At that point, either filter the log first (only error lines, only one hour), split it into parts, or convert it with the JSONL ⇄ CSV Converter, which has no row limit, for loading into a database or analysis script. The JSONL guide explains the format itself in more detail.
Frequently Asked Questions
What counts as valid JSONL?
One complete JSON value per line, with nothing wrapping the lines and no commas between them. Pretty-printed JSON, where one object spans several lines, is not JSONL and fails on the first incomplete line. Blank lines are skipped, and an error message gives the line number as your text editor counts it.
What happens to fields that only appear on some lines?
Every field found on any line becomes a column, in the order fields first appear, and lines without that field leave the cell empty. Log and event streams often add optional fields partway through a file (an error code, a retry count), and those still get their own column.
What does Excel → JSONL produce?
One compact JSON object per row, using the header row as keys. Numbers stay numbers, date cells become ISO text such as "2026-09-24", and empty cells become empty strings. Only the first sheet is read.
What about nested fields such as a "messages" array?
Going to Excel, a nested value is written into its cell as JSON text. Coming back, that cell is read as a string, so the JSONL line contains the text "[...]" rather than an array. For datasets whose structure matters (fine-tuning files with a messages array, for example), edit a copy in JSONL form, or flatten it with the Nested JSON ⇄ Excel converter instead.
Related Tools
Related Blog Posts
How to Flatten Nested JSON and Convert JSONL Files
How dot-notation flattening turns nested objects and arrays into spreadsheet columns, what survives the trip back, and how JSON Lines differs from a normal JSON file.
Read moreHow to Convert JSON to Excel, CSV, XML and YAML (and Back)
What actually happens to your data when JSON becomes a spreadsheet, XML, or YAML: missing keys, nested values, leading zeros, and the XML array problem, with real converter output.
Read moreConverting CSV and XML to Excel Without Losing Data
Why double-clicking a CSV mangles PIN codes, long IDs and ₹ signs, what a careful CSV-to-Excel conversion does instead, and how XML records map to spreadsheet columns.
Read more