CSV et JSON : deux façons de transporter les mêmes données
La plupart des données tabulaires finissent par vivre dans l'un de deux formats. Le CSV est la langue maternelle du tableur : un fichier texte brut où chaque ligne est une rangée et où les virgules séparent les colonnes. Le JSON est la langue des API et des applications : un format texte structuré bâti à partir d'objets (paires clé-valeur) et de tableaux (listes ordonnées). Ils décrivent la même information sous des formes très différentes, et c'est précisément pourquoi la conversion entre les deux revient si souvent. Cette page effectue cette conversion dans les deux sens, entièrement à l'intérieur de votre navigateur.
Le CSV brille partout où une grille semble naturelle. Exportez un rapport depuis une base de données, téléchargez une liste de commandes ou enregistrez une feuille depuis Excel ou Google Sheets, et vous obtenez presque toujours du CSV. Il est compact, lisible par l'humain, et tous les outils d'analyse de la planète peuvent l'ouvrir. Le JSON brille partout où des logiciels dialoguent entre eux. Les API REST l'envoient et le reçoivent, les fichiers de configuration l'utilisent, et JavaScript le lit sans la moindre bibliothèque d'analyse. Quand vous devez alimenter une API avec un export de tableur ou tirer une réponse d'API dans un tableur, vous traduisez en réalité entre ces deux mondes.

Comment les lignes et les en-têtes deviennent des objets
La correspondance est plus simple qu'il n'y paraît. La première ligne d'un fichier CSV est généralement la ligne d'en-tête, et ces noms d'en-tête deviennent les clés en JSON. Chaque ligne suivante devient un objet, où chaque cellule est associée à l'en-tête correspondant. Le fichier entier devient un tableau de ces objets. Ainsi, un CSV avec les colonnes name,email,age se transforme en une liste comme [{"name": "Ada", "email": "ada@example.com", "age": "36"}, ...]. Dans l'autre sens, le JSON vers CSV lit les clés du premier objet pour bâtir la ligne d'en-tête, puis écrit une ligne par objet. C'est un aller-retour net et prévisible tant que vos données sont véritablement tabulaires.
Les pièges qu'il vaut mieux connaître
Le CSV paraît trivial mais cache quelques bords coupants. Le plus important, ce sont les virgules à l'intérieur d'un champ. Si une adresse contient « Berlin, Allemagne », une découpe naïve sur les virgules déchirerait cette valeur unique en deux colonnes. La norme CSV gère cela en entourant ces champs de guillemets doubles, et les guillemets à l'intérieur d'un champ entre guillemets sont doublés (""). Un bon convertisseur respecte ces règles pour que vos données ne glissent pas silencieusement de colonne. Surveillez aussi le séparateur : beaucoup d'exports européens utilisent un point-virgule au lieu d'une virgule, car la virgule y est déjà le séparateur décimal. Les tabulations et les barres verticales apparaissent également.
La différence plus profonde, ce sont les types. Le CSV n'a aucune notion de type de données. Tout est du texte : le nombre 42, le booléen true et une cellule vide ressemblent tous à de simples chaînes. Le JSON, en revanche, distingue les nombres, les chaînes, les booléens, null et les structures imbriquées. Quand vous convertissez du CSV en JSON, les valeurs arrivent sous forme de chaînes à moins que l'outil ne reçoive l'instruction d'interpréter les nombres et les booléens. La conversion de JSON vers CSV pose le problème inverse : les objets et tableaux imbriqués ne tiennent pas proprement dans une grille plate, ils sont donc généralement aplatis ou convertis en chaîne dans une seule cellule. Le savoir d'emblée vous évite de vous interroger plus tard sur la raison pour laquelle une colonne « semble fausse ».

Un véritable aller-retour
Voici un scénario qui revient sans cesse. Un collègue vous envoie un tableur de nouveaux utilisateurs et vous demande de les charger via une API interne. L'API n'accepte que du JSON. Vous exportez la feuille en CSV, vous la collez ici, et vous récupérez un tableau d'objets propre prêt à glisser dans le corps de votre requête. Plus tard, l'API renvoie une liste JSON des enregistrements créés, et vous devez la rendre au même collègue pour relecture. Vous collez le JSON, vous le convertissez en CSV, et il s'ouvre directement dans son tableur. Pas de scripts, pas d'installations, juste deux traductions rapides au milieu d'un flux de travail normal.
En local uniquement, par conception
Tout cela s'exécute dans votre navigateur. Vos CSV et JSON sont analysés et convertis par JavaScript sur votre propre machine, et rien n'est téléversé vers un serveur. Cela compte, car les exports contiennent souvent de vrais noms, des e-mails, des détails de commandes ou des identifiants internes que vous ne devriez pas coller dans un service distant quelconque. Ici, les données ne quittent jamais la page. Si vous voulez peaufiner le résultat ensuite, notre formateur JSON l'affichera proprement et le validera, et vous pouvez parcourir le reste de nos convertisseurs de données pour les formats connexes.
Questions fréquentes
Mes données sont-elles envoyées quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur grâce à JavaScript : vos CSV et JSON restent donc sur votre propre appareil et ne sont jamais envoyés à un serveur.
Le convertisseur gère-t-il les virgules à l'intérieur des champs ?
Oui. Les champs qui contiennent des virgules doivent être entourés de guillemets doubles dans le CSV, et l'analyseur respecte ces guillemets pour que la valeur reste dans une seule colonne.
Pourquoi mes nombres apparaissent-ils comme du texte en JSON ?
Le CSV n'a pas de types de données, donc chaque cellule est du texte brut. Les valeurs deviennent des chaînes JSON à moins qu'une interprétation des nombres et des booléens ne soit appliquée, car le fichier source ne donne aucun moyen de distinguer un nombre d'un mot.
Qu'arrive-t-il au JSON imbriqué quand je convertis en CSV ?
Une grille plate ne peut pas contenir de structures imbriquées : les objets et tableaux imbriqués sont donc généralement aplatis ou écrits sous forme d'une seule valeur convertie en chaîne dans une cellule.
Puis-je utiliser un point-virgule ou une tabulation au lieu d'une virgule ?
Oui. Beaucoup d'exports, surtout européens, utilisent des points-virgules ou des tabulations comme séparateurs, et l'outil peut les lire à la place de la virgule standard.
Convertit-il dans les deux sens ?
Oui. Vous pouvez transformer du CSV en JSON et du JSON de nouveau en CSV, ce qui rend simples les allers-retours entre tableurs et API.
