How to Convert JSONL to CSV
JSON Lines is great for pipelines and logs, but when you want to open your data in a spreadsheet, sort it, chart it or share it with someone non-technical, CSV is the format that just works. This converter bridges the two. It reads your input line by line and parses each line as independent JSON, so a single malformed record is reported with its exact line number rather than failing the whole file. It then scans every record to build one set of columns in first-seen order, so entries with slightly different fields still line up, with blanks for the gaps. Fields containing the delimiter, quotes or line breaks are quoted the RFC-4180 way, and nested objects are preserved as compact JSON. Pick a comma, semicolon or tab, choose whether to include a header row, then copy or download. Everything runs in your browser, so nothing is uploaded.
Paste your JSONL
Paste your line-delimited JSON or load the sample; it's parsed locally with nothing uploaded.
Choose the options
Pick the delimiter and toggle the header row.
Copy or download
Grab the CSV with one tap or save it as a .csv file.
JSONL vs CSV — What's the Difference?
JSONL — JSON Lines / NDJSON
A format where each line is a complete JSON object. It keeps types and nested structure and streams beautifully, which is why logs and data pipelines love it — but spreadsheets can't open it directly.
CSV — comma-separated values
A flat, universally supported tabular format where each line is a row and a delimiter separates columns. Converting JSONL to CSV flattens your records into a table any spreadsheet or database can read.
Common Use Cases
Open logs in a spreadsheet
Turn NDJSON logs or exports into CSV to sort, filter and chart them.
Share with non-devs
Give teammates a familiar CSV instead of line-delimited JSON.
Spreadsheet imports
Produce CSV that opens cleanly in Excel or Google Sheets.
Data review
Flatten many JSONL records into a grid to spot gaps and outliers.
Reporting
Move JSONL data into a table for reports and dashboards.
European locales
Use semicolon output for CSVs that open correctly in comma-decimal regions.
Database loads
Prepare CSV for tools that import tabular data rather than NDJSON.
Quick transforms
A fast, no-install way to reshape JSON records into a table.
Tips & Best Practices
One JSON object per line
Each line should be a complete JSON object; that's what maps cleanly to a CSV row.
Keep keys consistent
Consistent keys across records keep columns tidy; differing keys are unioned with blanks.
Pick the right delimiter
Use commas for most tools; switch to semicolons for comma-decimal locales, or tab for TSV.
Flatten nested data first
Nested objects are kept as JSON in a cell; flatten them beforehand for separate columns.
Read the line number
If a line is invalid, the error names it exactly, so you can jump straight to the problem.
Header on for spreadsheets
Keep the header row when opening in Excel or Sheets so columns are labelled.
Troubleshooting
It reports an invalid line
One line isn't valid JSON on its own. The message includes the line number — check that line for a trailing comma, single quotes or an unclosed bracket.
A cell shows JSON text
That value was a nested object or array, kept as compact JSON so nothing is lost. Flatten it first for separate columns.
Some cells are empty
Those records didn't have that key. Columns are unioned across all records, so missing values appear as empty cells.
My input failed entirely
It may be a JSON array rather than JSONL. This tool expects one JSON object per line; use our JSON to CSV tool for arrays.
Frequently Asked Questions
How do I convert JSONL to CSV for free?
Paste your JSON Lines above and CSV appears instantly. Copy it or download a .csv file — free, no signup.
What is JSONL?
JSONL — also called NDJSON — is a format where each line is a complete JSON object. This tool flattens those lines into CSV rows.
What if one line is invalid?
You get a clear error naming the exact line number and the parse problem, so you can fix just that line.
What if my records have different keys?
Every key across all records becomes a column, in first-seen order, and any record missing a key gets an empty cell.
How are nested objects handled?
Nested objects and arrays are preserved as compact JSON inside a cell so no data is lost.
Are quotes and commas handled?
Yes. Any field containing the delimiter, a quote or a line break is wrapped in quotes and inner quotes are escaped.
Can I use a semicolon or tab delimiter?
Yes. Choose comma, semicolon or tab to match your target spreadsheet or tool.
Can I omit the header row?
Yes. Turn off the header option to output only the data rows.
Will the CSV open in Excel?
Yes. The output imports cleanly into Excel, Google Sheets, Numbers and any CSV-aware tool.
Are blank lines a problem?
No. Empty lines between records are skipped automatically.
Is my data sent to a server?
No. Everything happens inside your browser, so your data never leaves your device.
Can I download the result?
Yes. Save the output as a .csv file, or copy it straight to your clipboard.
How large a file can it handle?
It comfortably converts many thousands of lines, all within your browser.
Does the row order stay the same?
Yes. Rows appear in the same order as the lines in your input.
Can I convert CSV back to JSONL?
Yes — use our CSV to JSONL converter for the reverse direction.
Does it preserve Unicode?
Yes. Any Unicode characters in your data are preserved in the CSV output.
Does it work on phones?
Yes, in any modern browser on Windows, Mac, Android or iPhone with nothing to install.
Is this converter really free?
Completely free, forever — no account, no ads and no premium wall.
100% free · No signup · Processed in your browser · Data never sent
Last updated: August 2026 · FlipMyFormat JSONL to CSV Converter
Written and maintained by the FlipMyFormat team · Runs entirely in your browser