.JSONL file extension

To open .JSONL files on Windows, open the file in a plain-text editor (for example, Notepad) to inspect the lines; each line should be a standalone JSON value.

Open a .jsonl file with a text editor to view it, or with data tools that understand “one JSON record per line” (for example, pandas with lines=True). Because it is plain text, most editors can open it; the key is using software that treats each line as a separate JSON object.

Last updated: June 12, 2026

Open on your device

Choose your operating system for a dedicated step-by-step opening guide.

How to open .JSONL files

Use these platform-specific instructions to open .JSONL files safely.

Windows

  1. Open the file in a plain-text editor (for example, Notepad) to inspect the lines; each line should be a standalone JSON value.
  2. For analysis, load it in Python/pandas using pandas.read_json(path, lines=True) to treat each line as a record.
Full Windows guide

Mac

  1. Open the file in a plain-text editor (for example, TextEdit in plain-text mode) to view the per-line JSON records.
  2. For analysis, load it in Python/pandas using pandas.read_json(path, lines=True).
Full Mac guide

Linux

  1. Open the file in a text editor or view it from a terminal; it is plain text with one JSON value per line.
  2. For data work, load it with Python/pandas using pandas.read_json(path, lines=True).
Full Linux guide

iOS

  1. Use a text editor app or file viewer that can show plain text; if you need to parse it as records, transfer it to a desktop tool that supports JSON Lines (for example, pandas with lines=True).
Full iOS guide

Android

  1. Open it with a text editor app to view the newline-delimited records; for structured parsing or conversion, move it to a desktop environment with JSON tooling (for example, pandas with lines=True).
Full Android guide

Security notes

  • A .jsonl file is plain text and does not contain executable code by itself, but it can still be dangerous to process if downstream systems treat its fields as code (for example, injecting untrusted strings into SQL, shell commands, or templates).
  • Be cautious with very large .jsonl files: line-delimited formats are often used for big datasets, and naive “read the whole file into memory” parsing can cause memory exhaustion or denial-of-service in applications.
  • Strict parsing matters: because every line must be valid JSON (RFC 8259), permissive or nonstandard parsers can mis-handle edge cases; prefer robust JSON parsers and validate data before using it in security-sensitive contexts.

If you did not expect this file

This extension is usually plain data, text, or structured content—not a program by itself. The practical risk is social engineering (a scam attachment or misleading filename). For trusted senders you rarely need heavy-handed antivirus wording; use these tools when you want an extra check on unexpected downloads.

We may earn a commission when you use affiliate links. This supports our free file extension guides.

Can't open this file?

These are the most common causes and fixes when .JSONL files fail to open.

Common reasons

  • “It won’t parse as JSON” (expected a single JSON document)
  • Some lines fail to parse (malformed JSON records)
  • Character encoding issues (garbled text or decode errors)
  • Looks like JSON Lines but is actually JSON Text Sequences (RFC 7464)

Fix steps

  1. Use a reader that supports line-delimited JSON (for example, pandas.read_json(..., lines=True)).
  2. If a tool requires a single JSON array, convert by wrapping records into an array and inserting commas between lines (only if every line is valid JSON).

What is a .JSONL file?

JSON Lines stores structured data as UTF-8 text with one valid JSON value per line, usually one JSON object per line. Each line must be valid JSON as defined by RFC 8259, and the newline acts as the record separator rather than wrapping everything in a single JSON array.

Background

JSON Lines (often using the .jsonl extension) is designed for streaming and Unix-style tooling: you can append records, process line-by-line, and avoid loading an entire dataset into memory at once. The JSON Lines site describes it as “one JSON value per line” and emphasizes record-at-a-time processing.

In practice, .jsonl is widely used for log export, event streams, data engineering pipelines, and machine-learning datasets because it is simple to generate and easy to split or concatenate. Many tools that work well with plain text (pipes, grep-like filtering, incremental reads) fit naturally with the one-record-per-line structure.

It is related to other “streaming JSON” approaches. A formal IETF standard exists for JSON Text Sequences (RFC 7464), which uses an explicit framing character and has a registered media type (application/json-seq). JSON Lines/NDJSON is commonly used in the wild, but it is distinct from RFC 7464 framing.

Common MIME types: application/json, application/json-seq

Known aliases: .ndjson

Further reading

Authoritative resources for more details on the .JSONL format.

Common .JSONL issues

“It won’t parse as JSON” (expected a single JSON document)

A .jsonl file is not typically a single JSON array or object; it is many JSON values separated by newlines. Tools that expect one JSON document for the entire file may fail with errors after the first line.

  1. Use a reader that supports line-delimited JSON (for example, pandas.read_json(..., lines=True)).
  2. If a tool requires a single JSON array, convert by wrapping records into an array and inserting commas between lines (only if every line is valid JSON).

Some lines fail to parse (malformed JSON records)

Each line must be valid JSON text per RFC 8259. A single broken line (truncated output, unescaped quotes, trailing garbage) can cause partial imports to fail.

  1. Check the failing line(s) in a text editor; validate that each line is complete JSON (often a single object).
  2. Regenerate the file from the source system if it was truncated, or remove/repair only the malformed lines before re-importing.

Character encoding issues (garbled text or decode errors)

JSON is defined as Unicode text and is commonly encoded as UTF-8. If the file was produced in a different encoding or contains invalid byte sequences, some readers will error or display mojibake.

  1. Try reopening the file with UTF-8 encoding in your editor or import tool.
  2. If you control generation, ensure the producer writes UTF-8 and that each record remains valid JSON text.

Looks like JSON Lines but is actually JSON Text Sequences (RFC 7464)

Some streaming JSON uses RFC 7464 framing (record separator + JSON text) and is associated with application/json-seq, not newline-delimited JSON. A JSON Lines reader may not handle the extra framing character.

  1. Check for a leading ASCII Record Separator (0x1E) before each JSON text; that indicates RFC 7464 JSON text sequences.
  2. If it is RFC 7464, use tooling that supports JSON text sequences or strip the RS framing before treating it as line-delimited JSON.

FAQ

What is the difference between .json and .jsonl?

.json is usually one JSON value for the entire file (often an object or an array). .jsonl (JSON Lines) stores many JSON values, one per line, so it can be streamed and processed record-by-record.

Do I need special software to open a .jsonl file?

No—any text editor can open it because it is plain text. For analysis/import, use tools that understand line-delimited JSON (for example, pandas.read_json with lines=True).

Is .jsonl the same as NDJSON?

They are commonly used interchangeably in practice: both describe newline-delimited JSON records (one JSON text per line). The NDJSON specification is a commonly referenced description of this style.

What MIME type should I use for .jsonl?

The sources provided do not list an official IANA media type specifically for JSON Lines. IANA does register application/json for JSON and application/json-seq for RFC 7464 JSON text sequences; JSON Lines is related to streaming JSON but is not the same as application/json-seq.

Similar file extensions

Compare related formats in the same category to find the right tool faster.