Qu'est-ce que JSONL ? Guide complet du format JSON Lines

Tout ce que vous devez savoir sur JSON Lines — syntaxe, exemples, cas d'utilisation et meilleures pratiques.

Dernière mise à jour : février 2026

Qu'est-ce que JSONL ?

JSONL (JSON Lines), également connu sous le nom de Newline Delimited JSON (NDJSON), est un format de données texte où chaque ligne est une valeur JSON valide, séparée par des caractères de retour à la ligne. Contrairement au JSON standard, qui enveloppe les données dans un seul tableau ou objet, JSONL stocke un enregistrement par ligne.

Cette conception simple rend JSONL idéal pour le streaming, la journalisation et le traitement de grands jeux de données — chaque ligne peut être lue, analysée et traitée indépendamment sans charger tout le fichier en mémoire.

Le format a été popularisé par les outils et plateformes qui gèrent d'énormes volumes de données, notamment OpenAI (pour les jeux de données de fine-tuning), BigQuery, Apache Spark et les systèmes de gestion de journaux.

Règles de syntaxe JSONL

Le format JSONL suit quelques règles simples :

  • Chaque ligne doit être une valeur JSON valide (objet, tableau, chaîne, nombre, booléen ou null)
  • Les lignes sont séparées par des caractères de retour à la ligne (\n)
  • Pas de virgules ni de séparateurs entre les lignes
  • Les fichiers doivent utiliser l'encodage UTF-8
  • Le retour à la ligne final à la fin du fichier est optionnel
  • Les lignes vides sont ignorées par la plupart des analyseurs
Fichier JSONL valide
{"name":"Alice","age":30,"city":"New York"}
{"name":"Bob","age":25,"city":"London"}
{"name":"Charlie","age":35,"city":"Tokyo"}

Remarque : chaque ligne est un objet JSON complet et autonome. Il n'y a pas de virgules entre les lignes et pas de tableau englobant.

Exemples JSONL

Objets simples
{"id":1,"name":"Alice","email":"alice@example.com"}
{"id":2,"name":"Bob","email":"bob@example.com"}
{"id":3,"name":"Charlie","email":"charlie@example.com"}
Objets imbriqués
{"user":{"name":"Alice","age":30},"scores":[95,87,92]}
{"user":{"name":"Bob","age":25},"scores":[88,91,76]}

Les lignes JSONL n'ont pas besoin d'être toutes du même type — chaque ligne doit simplement être du JSON valide :

Types mixtes
{"event":"login","user":"alice","timestamp":"2026-01-15T10:30:00Z"}
{"event":"purchase","user":"alice","amount":29.99,"items":["book","pen"]}
{"event":"logout","user":"alice","timestamp":"2026-01-15T11:45:00Z"}

L'une des utilisations les plus populaires de JSONL est pour les jeux de données de fine-tuning OpenAI :

PopularFormat de fine-tuning OpenAI
{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"What is JSONL?"},{"role":"assistant","content":"JSONL is a text format where each line is a valid JSON value."}]}
{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"How do I read a JSONL file?"},{"role":"assistant","content":"Read the file line by line, parsing each line as JSON."}]}

Comment lire des fichiers JSONL

Les fichiers JSONL peuvent être lus avec n'importe quel outil supportant le traitement de texte ligne par ligne. Voici les méthodes les plus courantes :

Utilisez les outils Unix standard pour inspecter les fichiers JSONL :

Ligne de commande
# View first 5 lines
head -n 5 data.jsonl
# Count total lines (records)
wc -l data.jsonl
# Pretty-print each line with jq
cat data.jsonl | jq .
# Filter by field value
cat data.jsonl | jq 'select(.age > 30)'

Le module json intégré de Python gère JSONL naturellement :

Python
import json
with open('data.jsonl', 'r') as f:
for line in f:
record = json.loads(line)
print(record['name'])

Lisez des fichiers JSONL ligne par ligne avec Node.js :

JavaScript / Node.js
import { createReadStream } from 'fs';
import { createInterface } from 'readline';
const rl = createInterface({
input: createReadStream('data.jsonl')
});
for await (const line of rl) {
const record = JSON.parse(line);
console.log(record.name);
}

Visualiseur JSONL en ligne

Pour une approche visuelle, utilisez jsonl.co pour ouvrir et parcourir des fichiers JSONL jusqu'à 1 Go — sans téléversement, tout fonctionne dans votre navigateur.

Comment créer des fichiers JSONL

Créer des fichiers JSONL est simple — il suffit d'écrire une valeur JSON par ligne.

Python
import json
records = [
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25},
{"name": "Charlie", "age": 35},
]
with open('output.jsonl', 'w') as f:
for record in records:
f.write(json.dumps(record) + '\n')
JavaScript / Node.js
import { writeFileSync } from 'fs';
const records = [
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 },
{ name: 'Charlie', age: 35 },
];
const jsonl = records
.map(r => JSON.stringify(r))
.join('\n');
writeFileSync('output.jsonl', jsonl + '\n');

Peut-on ajouter des commentaires dans JSONL ?

Non. La spécification JSONL ne supporte pas les commentaires. Chaque ligne d'un fichier JSONL doit être une valeur JSON valide — et JSON lui-même n'a pas de syntaxe de commentaire.

Si vous avez besoin d'inclure des métadonnées ou des annotations avec vos données, les solutions de contournement courantes incluent :

  • 1Ajoutez un champ de métadonnées à vos objets JSON : '{'"_comment": "données de test", "name": "Alice"'}'
  • 2Utilisez un fichier de métadonnées séparé à côté de votre fichier JSONL
  • 3Ajoutez les métadonnées comme première ligne du fichier : '{'"_meta": '{'"version": "1.0", "created": "2026-01-15"'}''}'

Gardez à l'esprit que les champs de "commentaire" seront analysés comme des données normales. Les applications consommant le fichier JSONL doivent être conçues pour ignorer les champs de métadonnées.

JSONL vs JSON

La différence clé est la structure. JSON enveloppe tout dans une seule valeur, tandis que JSONL stocke une valeur par ligne.

JSONJSON standard
[
{"name": "Alice", "age": 30},
{"name": "Bob", "age": 25}
]
JSONLJSONL (JSON Lines)
{"name":"Alice","age":30}
{"name":"Bob","age":25}
  • JSON doit être entièrement chargé en mémoire pour l'analyse ; JSONL peut être lu ligne par ligne
  • JSON nécessite des virgules entre les éléments ; JSONL utilise des retours à la ligne
  • JSON est meilleur pour les fichiers de configuration et les API ; JSONL est meilleur pour les grands jeux de données et le streaming
  • L'ajout à un fichier JSON nécessite la réécriture du fichier entier ; JSONL ajoute simplement une nouvelle ligne

Pour une comparaison détaillée, consultez notre guide complet JSON vs JSONL guide.

Cas d'utilisation courants

Apprentissage automatique et IA

Le plus populaire

JSONL est le format standard pour les données d'entraînement ML. OpenAI, Hugging Face et d'autres plateformes d'IA utilisent JSONL pour les jeux de données de fine-tuning car chaque exemple d'entraînement est une ligne autonome qui peut être mélangée, échantillonnée et streamée efficacement.

Fichiers journaux et flux d'événements

JSONL

Les systèmes de journalisation structurée (pile ELK, Datadog, CloudWatch) produisent des journaux au format JSONL. Chaque entrée de journal est une ligne JSON, ce qui facilite l'ajout de nouvelles entrées et le traitement des journaux en temps réel.

Traitement Big Data

JSONL

Des outils comme Apache Spark, BigQuery et AWS Athena supportent nativement JSONL. Le format ligne par ligne permet un traitement parallèle sur des systèmes distribués — chaque worker peut traiter un bloc de lignes indépendamment.

API de streaming

JSONL

Les API qui retournent de grands ensembles de résultats utilisent souvent le streaming JSONL. Le client peut commencer à traiter les résultats immédiatement à leur arrivée, sans attendre la réponse complète.

Extensions de fichiers JSONL

Les fichiers JSONL utilisent couramment ces extensions :

.jsonlL'extension JSONL standard, la plus largement utilisée
.ndjsonNewline Delimited JSON — techniquement le même format avec un nom différent
.jsonCertains outils produisent du JSONL avec une extension .json, ce qui peut prêter à confusion

Les trois extensions contiennent le même format — une valeur JSON par ligne. Le type MIME pour JSONL est application/jsonl ou application/x-ndjson.

Essayez nos outils JSONL gratuits

Validez votre syntaxe JSONL, convertissez entre les formats et visualisez les fichiers — le tout dans votre navigateur.

Essayez notre visualiseur JSONL

Ouvrez, visualisez et modifiez des fichiers JSONL jusqu'à 1 Go — directement dans votre navigateur. Sans téléversement, 100% privé.

Questions fréquemment posées

Qu'est-ce que JSONL ? Guide du format JSON Lines, exemple...