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 valid JSON 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 multiple JSON objects, with each object on its own line. Each line in a .jsonl file is a complete, valid JSON object, separated by newline characters.

File Format Characteristics

  • • File extension: .jsonl (most common)
  • • Alternative extensions: .ndjson, .jsonlines
  • • MIME type: application/jsonl
  • • Encoding: UTF-8
  • • Structure: One JSON object 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