Convertisseur JSON en CSV

Convertissez JSON en CSV en ligne : gratuit, instantané et privé. Le fichier est traité dans votre navigateur, jamais envoyé.

Séparateur CSV
Résultat

Le fichier converti et un aperçu apparaîtront ici.

Prêt. Choisissez un fichier de tableau à convertir.

Comment fonctionne la conversion

  • Un tableau d’objets devient des lignes et des colonnes ; les objets imbriqués sont aplatis en colonnes à clé pointée comme address.city.
  • Choisissez le séparateur adapté à vos données : virgule, point-virgule ou tabulation.

Votre fichier de tableau est converti dans votre navigateur. Rien n’est téléversé vers BroBroGo.

FAQ

Comment convertir JSON en CSV ?

Déposez votre fichier JSON et cliquez sur convertir : le fichier CSV se télécharge en quelques secondes, avec un aperçu du résultat. Tout se passe sur votre appareil.

Quelle taille de fichier puis-je convertir ?

Jusqu’à 8 Mo, 10 000 lignes et 200 colonnes par fichier. Pour de plus grands jeux de données, mieux vaut les découper d’abord.

Convertisseur JSON vers CSV: aplatir une structure hiérarchique en tableau plat

Cette page vous permet de charger un fichier JSON (par glisser-déposer ou via le sélecteur de fichiers) et de le transformer en fichier CSV. Vous choisissez le délimiteur de la sortie – virgule, point-virgule ou tabulation –, vous visualisez un aperçu du tableau obtenu, puis vous téléchargez le résultat. Tout le traitement se déroule dans votre navigateur: aucune donnée n’est envoyée vers un serveur.

Ce qui distingue cette conversion des autres du même site (CSV vers Excel, Excel vers JSON), c’est le sens de l’opération. Vous passez d’un format hiérarchique et typé (JSON) à un format totalement plat et non typé (CSV). JSON peut contenir des objets, des tableaux, des nombres, des booléens, null et des structures imbriquées. CSV ne connaît ni types, ni hiérarchie, ni onglets multiples. La conversion élimine donc toute information de type, toute structure imbriquée (pas de notion de plusieurs feuilles en JSON) et toute mise en forme éventuelle. Pour représenter des objets JSON imbriqués dans un CSV plat, l’outil aplatit les clés d’objet avec une notation par points: adresse.ville. Les tableaux d’objets deviennent des lignes du tableau; les tableaux de tableaux sont conservés comme des lignes également. Comme le CSV utilise des séparateurs, les virgules et les sauts de ligne présents dans les valeurs doivent être entourés de guillemets – l’outil le fait automatiquement, mais les zéros non significatifs dans les nombres peuvent être perdus. Vous devez décider, avant la conversion, comment représenter les champs imbriqués (l’outil utilise par défaut les chemins par points).

Pourquoi convertir du JSON en CSV?

Le JSON est le format roi des échanges entre API et applications web. Vous récupérez par exemple une liste d’utilisateurs au format JSON, avec des adresses, des tags, des préférences. Pour l’importer dans un tableur (Excel, Google Sheets) ou dans une base de données relationnelle, il faut un format tabulaire comme le CSV. Les analystes de données, les intégrateurs de pipelines et les utilisateurs soucieux de confidentialité ont besoin d’une conversion rapide, sans hébergement des données sur un serveur distant. Ce cas d’usage est typique lorsqu’on travaille avec des données sensibles (clients, patients, informations personnelles): le traitement local devient un impératif.

En outre, le CSV reste le format d’échange le plus universel pour les tableurs. Choisir un délimiteur adapté à sa locale (point-virgule pour les pays où la virgule sert de séparateur décimal) évite les erreurs d’import. L’outil vous laisse ce choix.

Différences structurelles fondamentales entre JSON et CSV

Propriété JSON CSV
Types de données chaîne, nombre, booléen, null, objet, tableau uniquement des chaînes de caractères
Hiérarchie imbrication arbitraire d’objets et de tableaux plat: lignes et colonnes, pas d’imbrication
Séparateur virgule entre éléments, deux-points pour clé/valeur virgule, point-virgule ou tabulation (selon le choix)
Métadonnées possible (schémas, commentaires) aucun
Lecture humaine lisible, mais plus verbeux très lisible en tableau simple

Lors de la conversion, chaque valeur JSON devient une chaîne de caractères. Un nombre 3.14 devient la chaîne "3.14", un booléen false devient "false", null devient "null" (ou une chaîne vide selon l’implémentation). L’information de type est définitivement perdue. Si vous reconvertissez ce CSV en JSON, vous obtiendrez des chaînes, pas des nombres ou des booléens. C’est une transformation irréversible.

Pour les objets imbriqués, l’outil aplatit les clés en les joignant par un point. Exemple:

{
  "nom": "Dupont",
  "adresse": {
    "rue": "10 rue de Paris",
    "ville": "Lyon"
  },
  "tags": ["urgent", "client"]
}

devient dans le CSV une ligne avec les colonnes: nom, adresse.rue, adresse.ville, tags. Les tableaux sont conservés en une seule cellule, avec leurs crochets ou guillemets, selon la façon dont l’outil les sérialise – généralement en les convertissant en chaîne JSON à l’intérieur de la cellule CSV, ce qui peut produire des virgules supplémentaires. Il faut donc bien vérifier l’aperçu.

Fonctionnement concret de la conversion sur cette page

L’outil exige que le JSON soit en forme de tableau (« table‑shaped »). Les seules structures acceptées sont:

  1. Un tableau d’objets (chaque objet devient une ligne, les clés communes deviennent des colonnes; si des clés diffèrent, les colonnes manquantes sont vides).
  2. Un tableau de tableaux (chaque sous-tableau devient une ligne, les éléments deviennent des colonnes sans nom d’en-tête).

Si vous fournissez un objet unique, un tableau hétérogène ou un fichier JSON mal formé, le message d’erreur s’affiche: « This JSON is invalid or not table‑shaped. »

Les étapes exactes:

  • Vous sélectionnez un fichier JSON (les extensions acceptées sont.csv,.json,.xlsx – seul.json est pertinent ici).
  • Vous choisissez le délimiteur de sortie: virgule (,), point-virgule (;) ou tabulation (\t).
  • L’outil analyse le fichier, le convertit et affiche un aperçu du tableau.
  • Vous voyez le nombre de lignes et de colonnes, ainsi que la taille estimée du fichier de sortie.
  • Vous cliquez sur « Télécharger » pour obtenir le fichier CSV.

Le tout se fait sans aucun envoi au serveur. Le code JavaScript lit le fichier localement, le parse, le transforme et génère un blob téléchargeable. Cela garantit la confidentialité absolue: vos données ne quittent jamais votre machine.

Limites techniques:

  • Taille maximale du fichier: un message d’erreur est produit si le fichier dépasse cette limite (« This file is too large. Use a file under ‹max›. » – la valeur de ‹max› dépend de la configuration du site, mais n’est pas mentionnée dans la fiche, donc nous ne l’inventons pas).
  • Nombre maximum de lignes: au‑delà, l’erreur « This table has more than ‹max› rows. »
  • Nombre maximum de colonnes: idem.
  • Autres erreurs possibles: « Choose one file first. », « Choose a CSV, JSON or XLSX file. », « Choose a different output format. », « Could not convert this file. », « Conversion cancelled. », « This conversion is taking too long. Try a smaller file. » (ce dernier pour les très gros fichiers qui dépassent les capacités du navigateur).

Pièges à connaître et cas limites

La conversion JSON vers CSV est sujette à plusieurs pièges fréquents. Les voici, avec leur explication.

Perte des types et des zéros non significatifs

Toutes les valeurs deviennent des chaînes. Un nombre comme 00123 sera converti en 123 (le zéro non significatif est perdu). Si vous devez conserver un code postal ou un identifiant qui commence par zéro, le JSON doit déjà le représenter comme une chaîne ("00123"). Sinon, le CSV ne pourra pas le restituer correctement.

Valeurs contenant le délimiteur ou des sauts de ligne

Les champs CSV qui contiennent le séparateur (par exemple une virgule si le délimiteur est la virgule) ou un saut de ligne sont automatiquement entourés de guillemets doubles. De plus, si la valeur contient des guillemets, ils sont doublés (échappement). L’outil gère cela, mais il faut savoir que l’aperçu peut afficher des chaînes plus longues que prévu.

Objets imbriqués et tableaux

Les objets sont aplatis avec des clés comme niveau1.niveau2. Attention: si deux objets ont des structures différentes, certaines colonnes peuvent être absentes pour certaines lignes, ce qui donne des cellules vides. Les tableaux (simples ou d’objets) sont généralement sérialisés en JSON dans une seule cellule – cela peut produire une chaîne contenant des virgules et des crochets. L’aperçu permet de voir le résultat avant téléchargement.

Imbrication multiple

Pour un objet comme {"a": {"b": {"c": 1}}}, l’outil générera une colonne a.b.c. Si le nombre de niveaux est très élevé, le nom de colonne peut devenir long. Le CSV supporte des en-têtes longs, mais certains tableurs ont des limites de caractères par cellule ou par en-tête.

Pas de correspondance avec des onglets multiples

JSON n’a pas de concept d’onglets ou de feuilles. Tout est dans un seul fichier. Si votre JSON contient plusieurs tableaux indépendants, vous devrez les convertir séparément ou les fusionner manuellement avant.

Pas d’exécution de formules ou de code

Le JSON peut contenir des chaînes qui ressemblent à des formules Excel (par exemple =SOMME(A1:A10)). Le CSV les conservera comme texte, mais aucun calcul ne sera effectué pendant la conversion.

Pourquoi « not table‑shaped »?

Ce message apparaît si le fichier JSON n’est pas un tableau d’objets ou un tableau de tableaux. Par exemple: un objet racine {}, un nombre 42, une chaîne, un tableau vide, ou un tableau d’objets avec des structures tellement hétérogènes que l’outil ne peut pas en déduire un ensemble cohérent de colonnes. Il faut donc que votre fichier soit correctement structuré avant la conversion.

Avantages du traitement entièrement côté client

Le fait que toute l’opération se déroule dans le navigateur offre plusieurs bénéfices concrets:

  • Confidentialité: aucune donnée n’est transmise à un serveur. Vous pouvez convertir des fichiers contenant des informations sensibles (données médicales, informations personnelles identifiables, secrets d’entreprise) sans crainte de fuite. C’est un argument fort pour les environnements soumis à des réglementations strictes (RGPD, HIPAA).

  • Rapidité: la conversion commence instantanément, sans attente de téléchargement. Pour des fichiers de taille modérée, la réponse est quasi immédiate.

  • Pas de limite de bande passante: vous n’êtes pas tributaire de la vitesse de connexion ou de la capacité du serveur. Le fichier reste local.

  • Fonctionne hors connexion: une fois la page chargée (sur un site statique), vous pouvez l’utiliser même sans accès Internet, tant que les fichiers sont stockés localement.

  • Pas de stockage persistant: rien n’est conservé sur le navigateur, ni sur un serveur. La conversion est éphémère.

Foire aux questions (FAQ)

Q: Mon JSON contient des objets imbriqués très profonds. Comment seront nommées les colonnes?

R: Chaque niveau est ajouté au nom de colonne avec un point. Par exemple, utilisateur.adresse.codePostal. Si la profondeur dépasse ce qui est lisible, vous devez aplatir votre JSON manuellement avant la conversion. L’outil ne propose pas de paramétrage du séparateur de chemin (point uniquement).

Q: Puis-je conserver les types de données (nombres, booléens) dans le CSV?

R: Non. Le CSV est un format texte pur. Toutes les valeurs sont converties en chaînes. Si vous devez réimporter ces données dans un système qui attend des types, il faudra les retyper après l’import (par exemple dans Excel avec les fonctions adéquates). Certains tableurs reconnaissent les nombres dans les chaînes, mais cela dépend de la locale et des paramètres d’import.

Q: Quelle est la taille maximale de fichier acceptée?

R: La limite est configurée par le site. La fiche ne donne pas de valeur exacte – consultez la page pour la valeur affichée dans le message d’erreur correspondant. En général, les navigateurs modernes peuvent traiter plusieurs centaines de mégaoctets, mais au‑delà la conversion peut échouer (timeout ou mémoire insuffisante).

Q: Pourquoi les zéros non significatifs disparaissent-ils dans le CSV?

R: Parce que JavaScript interprète 00123 comme le nombre 123 lors du parsing JSON. Si votre fichier JSON contient "00123" (avec guillemets), la valeur sera traitée comme une chaîne et conservée telle quelle. Vérifiez votre JSON source: si les valeurs à préserver sont sans guillemets, transformez-les en chaînes avant conversion.

Q: Puis-je choisir un autre délimiteur que la virgule?

R: Oui, l’outil propose trois options: virgule (,), point-virgule (;) et tabulation (\t). Utilisez le point-virgule si le séparateur décimal dans votre région est la virgule (ex. France: 3,14). La tabulation est utile pour éviter les conflits avec des données contenant des virgules ou des points-virgules.

Q: Que signifie exactement « not table‑shaped »?

R: Cela signifie que la structure du fichier JSON n’est ni un tableau d’objets (ex. [{...}, {...}]) ni un tableau de tableaux (ex. [["a","b"],["c","d"]]). Par exemple, un fichier qui commence par { "nom": "Dupont" } (objet unique) ou 42 (nombre) ne peut pas être converti. Corrigez votre JSON pour qu’il soit un tableau homogène.