Go to Sign up
Note: Your files never leave your device. We don't upload, transfer, or store your data.
|
|
|
|
|---|---|---|
|
|
|
JSON Lines (also called JSONL, NDJSON, or newline-delimited JSON) is a format for storing structured data where each line is a valid JSON value. Unlike a standard JSON array — which wraps all records in [ ] brackets — JSON Lines stores one JSON object per line, separated by newline characters (\n).
This format is widely used in data engineering, log processing, machine learning pipelines, and streaming APIs because it supports:
Line-by-line processing — Each line can be parsed independently without loading the entire file into memory.
Streaming and appending — New records can be appended to the end of a file without modifying existing content.
Large dataset handling — Files with millions of records can be processed incrementally, unlike monolithic JSON arrays.
Excel to JSONLines is a free online tool that converts spreadsheet data from Excel files (.xlsx, .xls, .xlsm) into JSON Lines format. Each row in your spreadsheet becomes one JSON object (or array) on its own line. The tool processes everything in your browser — your files are never uploaded to any server.
A built-in table editor lets you clean and modify your data before conversion. You can choose between object format (key-value pairs using column headers) or array format (positional values), control indentation, and optionally parse embedded JSON strings in cells.
| Aspect | Standard JSON | JSON Lines (JSONL) |
|---|---|---|
| Structure | Single array: [{...}, {...}] | One object per line: {...}\n{...} |
| Parsing | Must load entire file | Line-by-line, incremental |
| Memory usage | High for large datasets | Low — constant per record |
| Appending | Must rewrite entire array | Simply append new lines |
| Error isolation | One error breaks entire file | Only the affected line |
| Common uses | APIs, config files, small datasets | Logs, data pipelines, ML training data, streaming |
Object or Array Output — Choose whether each row becomes a JSON object (using column headers as keys) or a JSON array (positional values).
Indentation Control — Select minified output, 2-space indent, 4-space indent, or tab indent.
Smart JSON Parsing — Enable "Parse JSON" to automatically detect and parse embedded JSON strings in cells into nested objects rather than escaped strings.
Excel File Support — Upload .xlsx, .xls, or .xlsm files with multi-sheet selection.
Built-in Table Editor — Edit cells, add or remove rows and columns, transpose, deduplicate, remove empty rows, apply case transforms, and find-and-replace before conversion.
Undo/Redo — Full edit history with undo and redo support.
100% Client-Side — Files are parsed and converted entirely in your browser. No data is transmitted to any server.
Drag and drop an Excel file (.xlsx, .xls, or .xlsm) onto the upload area, or click to browse. Alternatively, click Enter Data to type or paste data directly into the editor.
After loading, your data appears in an editable table. Use the toolbar to:
Add, delete, or reorder rows and columns
Transpose rows to columns
Remove empty rows/columns and duplicate rows
Change text to UPPERCASE, lowercase, or Title Case
Find and replace values across all cells
Toggle "First Row as Header" to define column names
In the Properties panel on the right:
Data Format — Choose Object to output key-value pairs using column headers, or Array to output positional values.
Indent — Select Minified, 2 Spaces, 4 Spaces, or Tab indentation.
Parse JSON — Toggle on to detect JSON strings in cells and parse them into nested objects. For example, a cell containing {"city":"NYC"} becomes a nested object instead of a string.
Given this Excel data:
| name | age | city |
|---|---|---|
| Alice | 30 | New York |
| Bob | 25 | London |
Object format output:
{"name":"Alice","age":"30","city":"New York"}
{"name":"Bob","age":"25","city":"London"}
Array format output:
["Alice","30","New York"]
["Bob","25","London"]
Click Convert to generate the JSON Lines output. The result appears in the Output Data panel. Click Copy to Clipboard to copy it, or use Download File (Premium) to save it as a .jsonl file. Click Restart to reset all data and start over.
Data Engineering Pipelines — Convert Excel exports to JSON Lines for ingestion into Apache Kafka, AWS Kinesis, Google BigQuery, or Apache Spark streaming pipelines.
Machine Learning Training Data — Transform labeled datasets from Excel to JSONL format for ML frameworks like TensorFlow, PyTorch, or OpenAI fine-tuning APIs.
Log Processing — Convert structured log data to newline-delimited JSON for tools like Elasticsearch, Logstash, and Kibana (ELK stack).
Database Seeding — Generate JSONL files for bulk import into MongoDB, PostgreSQL (with JSONB), or other document databases.
API Data Migration — Convert spreadsheet data to JSONL for batch import into REST or GraphQL APIs that accept newline-delimited JSON payloads.
NoSQL Data Import — Prepare data in JSONL format for import into CouchDB, DynamoDB, or Firestore.
No. All file parsing and conversion happens entirely in your browser using client-side JavaScript. Your files are never uploaded, transferred, or stored on any server. The tool works offline once the page has loaded.
Standard JSON wraps multiple records in a single array: [{"a":1}, {"a":2}]. JSON Lines (JSONL / NDJSON) stores one JSON object per line with no surrounding array: {"a":1}\n{"a":2}. JSON Lines enables line-by-line processing, streaming, and appending — making it better suited for large datasets and data pipelines.
Object format uses column headers as keys: {"name":"Alice","age":"30"}. Array format outputs values only: ["Alice","30"]. Object format is more readable and self-describing. Array format is more compact and useful when column order is known.
When enabled, the tool detects cells that contain valid JSON strings and parses them into actual JSON objects or arrays in the output. For example, a cell containing {"city":"NYC","zip":"10001"} becomes a nested object {"city":"NYC","zip":"10001"} rather than an escaped string. This is useful when your Excel file contains structured data stored as text.
The tool supports .xlsx (Excel 2007+), .xls (Excel 97-2003), and .xlsm (macro-enabled) files. Multi-sheet workbooks are supported — use the sheet selector dropdown to choose which sheet to convert.
Yes. After uploading your file, the built-in table editor lets you modify cell values, add or remove rows and columns, transpose data, remove duplicates and empty rows, change text case, and find-and-replace — all before generating JSON Lines output.
Since processing is entirely client-side, the practical limit depends on your device's available memory. Most modern browsers handle files with tens of thousands of rows without issue. For very large files (100,000+ rows), performance may vary by device.
Yes. Click the Enter Data button to open a blank editor where you can type or paste data manually, then convert it to JSON Lines as usual.
The most common file extensions are .jsonl and .ndjson. Both represent the same format — one JSON value per line. The .jsonl extension is preferred by the jsonlines.org specification.
Many ML frameworks and APIs use JSON Lines for training data. OpenAI's fine-tuning API accepts .jsonl files with one training example per line. TensorFlow and PyTorch can read JSONL files for dataset loading. The format allows training data to be streamed without loading everything into memory.