Un convertisseur JSON en CSV transforme la notation d’objets JavaScript (JSON), hiérarchique et structurée, en un tableau plat bidimensionnel à valeurs séparées par des virgules (CSV). JSON est le standard pour les API REST et bases NoSQL, tandis que CSV est la norme pour Excel, Google Sheets et l’importation dans les bases relationnelles. Notre outil gratuit exécute cette conversion intégralement dans votre navigateur — sans aucun transfert de fichier, sans inscription et sans limite de volume.
Comment convertir du JSON en CSV
La conversion de JSON au format CSV se déroule en trois étapes simples :
- Chargez vos données JSON : Collez le texte JSON, chargez un fichier .json ou .jsonl, ou importez depuis une URL publique. L’outil gère les tableaux d’objets, les matrices 2D et les objets imbriqués.
- Configurez les colonnes et prévisualisez : Chaque champ détecté s’affiche dans le tableau interactif avec son type inféré et son taux de remplissage. Renommez, réordonnez ou excluez des colonnes et choisissez votre délimiteur (virgule, point-virgule, tabulation, barre).
- Téléchargez un CSV propre ou un classeur Excel : Exportez le résultat sous forme de CSV standard, de CSV compatible Excel avec indicateur BOM UTF-8, ou de véritable classeur Microsoft Excel .xlsx.
Convertir du JSON imbriqué en CSV
Le format JSON est arborescent (des structures dans des structures), tandis que le CSV est plat (lignes et colonnes). Lors de l’aplatissement, chaque propriété terminale devient une colonne identifiée par son chemin d’accès complet, par exemple customer.address.city. Vous pouvez personnaliser le séparateur de chemin (point, tiret bas, barre oblique), limiter la profondeur ou conserver les objets profonds en texte JSON brut.
Tableaux et objets JSON
Les listes ou tableaux JSON nécessitent une stratégie d’aplatissement explicite pour être représentés dans une cellule. Notre outil propose quatre approches :
- Une colonne par index : Génère des colonnes distinctes indexées (items.0, items.1), idéal pour les listes de taille fixe.
- Une ligne par élément (Unwind) : Duplique les champs parents sur plusieurs lignes pour chaque élément du tableau, format standard des tables relationnelles SQL.
- Cellule fusionnée : Regroupe les valeurs dans une seule cellule entre guillemets à l’aide d’un séparateur sur mesure (ex. "tag1; tag2").
- Texte JSON brut : Conserve ["tag1", "tag2"] sous forme de chaîne JSON littérale dans la cellule CSV.
Exemples de conversion JSON en CSV
Voici un exemple pratique de conversion de données de commandes clients vers un tableau CSV :
[
{
"orderId": "ORD-2048",
"customer": { "name": "Elena Rostova", "email": "elena@example.com" },
"total": 149.50,
"status": "shipped"
},
{
"orderId": "ORD-2049",
"customer": { "name": "Marcus Vance", "email": "marcus@example.com" },
"total": 89.00,
"status": "pending"
}
]
Le convertisseur parcourt les enregistrements, crée une ligne d’en-tête unifiée regroupant toutes les clés, aplatit l’objet imbriqué customer et génère un CSV impeccable :
orderId,customer.name,customer.email,total,status
ORD-2048,Elena Rostova,elena@example.com,149.5,shipped
ORD-2049,Marcus Vance,marcus@example.com,89,pending
JSON vs CSV : Principales différences
Comprendre les spécificités de structure entre JSON et CSV permet de choisir le format approprié :
| Propriété | JSON (JavaScript Object Notation) | CSV (Comma-Separated Values) |
|---|
| Modèle de données | Arborescence hiérarchique (objets et tableaux imbriqués) | Matrice tabulaire à 2 dimensions (lignes et colonnes) |
| Prise en charge des types | Chaînes, nombres, booléens, null, tableaux, objets | Texte brut non typé (l’interpréteur déduit les types) |
| Taille du fichier | Verbeux (répétition des clés à chaque enregistrement) | Compact (les clés sont déclarées une seule fois en en-tête) |
| Outils de référence | API Web, bases de données NoSQL, fichiers de configuration | Tableurs (Excel, Sheets), bases SQL, solutions décisionnelles |
JSON en CSV en Python avec pandas ou la bibliothèque standard
Pour automatiser la conversion dans vos scripts Python, pandas gère l’aplatissement en trois lignes :
import json
import pandas as pd
with open("input.json", encoding="utf-8") as handle:
data = json.load(handle)
frame = pd.json_normalize(data, sep=".")
frame.to_csv("output.csv", index=False)
La bibliothèque standard de Python (json et csv.DictWriter) offre la même efficacité sans aucune dépendance. Pour préserver les identifiants 64 bits de grande taille, transmettez parse_int=str à json.load.
JSON en CSV en Node.js
Node.js permet de convertir des enregistrements JSON sans installer de paquets npm tiers :
import { readFile, writeFile } from 'node:fs/promises';
const data = JSON.parse(await readFile('input.json', 'utf8'));
const fields = [...new Set(data.flatMap((row) => Object.keys(row)))];
const cell = (value) => {
const text = value == null ? '' : String(value);
return /[",\n]/.test(text) ? '"' + text.replaceAll('"', '""') + '"' : text;
};
const csv = [fields, ...data.map((row) => fields.map((field) => row[field]))]
.map((row) => row.map(cell).join(','))
.join('\n');
await writeFile('output.csv', csv, 'utf8');
Pourquoi cet outil est gratuit et sans aucune limite
Les convertisseurs traditionnels téléversent vos données vers des serveurs distants, ce qui engendre des coûts d’infrastructure répercutés sous forme d’abonnements ou de quotas. jsoncsvonline fonctionne à 100% dans votre navigateur via des Web Workers. Vos données ne quittent jamais votre machine. Consultez nos guides détaillés sur l’aplatissement de JSON imbriqué, la conversion des tableaux JSON et la compatibilité des séparateurs et encodages Excel.
Validation, formatage et réparation de JSON avant conversion
Vérifier la validité de vos données avant export évite tout échec de traitement. Découvrez également notre Validateur JSON conforme RFC 8259, notre outil de Réparation JSON pour corriger automatiquement virgules en trop et guillemets, notre Formateur JSON pour embellir vos structures, notre comparateur JSON Diff pour détecter les écarts, ou notre Minificateur JSON pour compresser vos flux pour la production.