What is JSONL File Format? Complete Guide to .jsonl Files

JSONL file format (also known as .jsonl files) is a text format where each line contains exactly one complete JSON value, most commonly an object. Learn how .jsonl files work, when to use them, and how to create, read, and process them.

What is a JSONL File?

A JSONL file (file extension .jsonl) is a text file that contains independent JSON values, one per line. Each line in a .jsonl file is a complete, valid JSON value, separated by newline characters; objects are most common for record-oriented data.

File Format Characteristics

  • • File extension: .jsonl (most common)
  • • Alternative extensions: .ndjson, .jsonlines
  • • MIME type: application/jsonl
  • • Encoding: UTF-8
  • • Structure: One complete JSON value per line

Example .jsonl File

Here's an example of what a .jsonl file looks like:

users.jsonl
{"id": 1, "name": "John Doe", "email": "john@example.com", "age": 30}
{"id": 2, "name": "Jane Smith", "email": "jane@example.com", "age": 25}
{"id": 3, "name": "Bob Johnson", "email": "bob@example.com", "age": 35}

Each line in the file above is a complete JSON object. The file can be processed line by line, making it ideal for large datasets.

How .jsonl Files Work

JSONL files work differently from traditional JSON files:

Traditional JSON File

[
  {"id": 1, "name": "John"},
  {"id": 2, "name": "Jane"}
]

• Entire file must be loaded into memory

• One syntax error breaks the entire file

JSONL File (.jsonl)

{"id": 1, "name": "John"}
{"id": 2, "name": "Jane"}

• Process one line at a time

• Invalid lines can be skipped

When to Use .jsonl Files

Use .jsonl files when:

  • Working with large datasets that don't fit in memory
  • Streaming data in real-time
  • Creating log files
  • Preparing machine learning datasets
  • Building data pipelines
  • Processing data incrementally

How to Create .jsonl Files

You can create .jsonl files in several ways:

Python

create_jsonl.py
import json

data = [{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}]

with open('output.jsonl', 'w') as f:
    for record in data:
        f.write(json.dumps(record) + '\n')

Using Our Tools

You can also create .jsonl files using our online tools:

How to Read .jsonl Files

Reading .jsonl files is straightforward - process one line at a time:

Python

read_jsonl.py
import json

with open('data.jsonl', 'r') as f:
    for line in f:
        data = json.loads(line.strip())
        process(data)

Using Our Tools

You can also view and work with .jsonl files using our online tools:

File Extension Details

JSONL files can use different file extensions:

Extension Usage Description
.jsonl Most common JSON Lines format
.ndjson Common Newline Delimited JSON
.jsonlines Less common Alternative extension

Learn More

For more information about JSONL file format:

Work with .jsonl Files