Convertisseur JSON ↔ CSV
Convertissez du JSON en CSV ou du CSV en JSON. Aplatissement automatique, options de délimiteur, aperçu en direct.
Ce que fait ce convertisseur
JSON et CSV sont les deux formats les plus souvent échangés entre les API, les feuilles de calcul, les traitements ETL et les tableaux de bord. JSON conserve les types et l'imbrication ; CSV est plat et compatible avec Excel, Google Sheets, les outils de BI et la plupart des entrepôts de données. Ce convertisseur fonctionne dans les deux sens. JSON vers CSV prend un tableau d'objets et produit une ligne par objet, avec des en-têtes de colonnes construits à partir de l'union de toutes les clés rencontrées. Les objets imbriqués sont aplatis avec la notation pointée (user.city), afin que vous ne perdiez aucune information. Les tableaux sont émis sous leur forme encodée en JSON par défaut. CSV vers JSON fait le chemin inverse : il analyse les champs entre guillemets au format RFC-4180 (guillemets doubles échappés, sauts de ligne intégrés), convertit true, false, null et les nombres purs en leurs valeurs JSON typées, et reconstruit les objets imbriqués à partir de toute clé pointée trouvée dans l'en-tête. L'ensemble de la conversion s'exécute localement sur votre appareil — vos données ne quittent jamais le navigateur, ne transitent jamais par nos serveurs et ne sont ni stockées, ni indexées, ni journalisées, ni partagées. Cette garantie de confidentialité est essentielle pour le type de données que l'on convertit le plus souvent : réponses d'API contenant des données personnelles, exports clients, analyses internes, tout ce qui provient d'une base de données de production.
Mode d'emploi
Choisissez un sens, choisissez un délimiteur, collez vos données, et le résultat se met à jour en direct.
- Choisissez le sens — Utilisez JSON → CSV lorsque vous avez une réponse d'API ou un export JSON et que vous souhaitez une feuille de calcul. Utilisez CSV → JSON lorsque vous avez exporté un tableau depuis Excel, Sheets ou une base de données et que vous voulez des données structurées.
- Choisissez un délimiteur — La virgule est le standard universel. Utilisez le point-virgule pour les exports Excel européens, la tabulation pour les données copiées depuis Excel/Sheets, ou la barre verticale pour les fichiers de logs où des virgules figurent déjà dans les données.
- Décidez de l'aplatissement — Laissez l'option Aplatir les objets imbriqués activée si votre JSON contient des données imbriquées — vous obtiendrez des colonnes comme
address.cityetaddress.zip. Désactivez-la si vous préférez intégrer les objets imbriqués sous forme de chaînes JSON dans une seule cellule CSV. - Copiez ou recollez — Utilisez le bouton de copie pour placer le résultat dans votre presse-papiers. Le CSV se colle directement dans Excel, Sheets ou un éditeur de code ; le JSON se colle dans Postman, votre IDE, ou partout où un corps JSON est attendu.
Règles d'échappement et de mise entre guillemets
Le CSV n'a pas de spécification officielle unique, mais la RFC 4180 capture les règles consensuelles que tout analyseur moderne respecte. Un champ est mis entre guillemets doubles si et seulement s'il contient un délimiteur, un guillemet double, un saut de ligne ou un retour chariot. À l'intérieur d'un champ entre guillemets, les guillemets doubles sont échappés en les doublant (say "hi" devient "say ""hi"""). Les sauts de ligne à l'intérieur d'un champ entre guillemets sont conservés tels quels — l'analyseur compte les guillemets non échappés pour savoir s'il est toujours dans un champ. Les valeurs null et undefined deviennent des cellules vides, ce qui signifie qu'un aller-retour JSON → CSV → JSON ne peut pas distinguer une chaîne vide d'un null. Les nombres, les booléens et le littéral null sont reconnus lors de la conversion CSV → JSON, donc une cellule CSV contenant true devient un booléen JSON.
Comment les valeurs sont échappées
Quelques exemples qui montrent ce que fait le convertisseur dans les cas délicats. Le délimiteur dans ces exemples est la virgule.
| Valeur d'entrée | Cellule CSV |
|---|---|
hello | hello |
a,b | "a,b" |
say "hi" | "say ""hi""" |
line1\nline2 | "line1\nline2" |
null | (vide) |
{a: 1, b: 2} | 1,2 avec aplatissement activé |
Questions fréquentes
Mes données sont-elles téléversées quelque part ?
Non. La conversion se fait entièrement dans votre navigateur. La page n'importe aucune bibliothèque CSV tierce — l'analyseur et le sérialiseur font partie intégrante de la page. Ouvrez les DevTools → Réseau et vous verrez qu'aucune requête n'est envoyée lorsque vous collez ou convertissez.
Que se passe-t-il si mes objets ont des clés différentes ?
La ligne d'en-tête est l'union de toutes les clés observées dans tous les objets, dans leur ordre d'apparition. Les lignes auxquelles il manque une clé produisent une cellule vide pour cette colonne. C'est ainsi que Pandas, les imports Excel et la plupart des outils ETL gèrent la même situation.
Comment les tableaux à l'intérieur du JSON sont-ils exportés ?
Les tableaux sont sérialisés en JSON dans une seule cellule CSV, donc un objet comme {tags: ["a","b"]} devient une cellule contenant le texte littéral ["a","b"]. Cela préserve toutes les données mais n'est pas idéal pour les tableaux croisés dynamiques — si vous avez besoin d'une ligne par étiquette, développez le tableau vous-même avant de convertir.
Pourquoi mon fichier Excel européen s'ouvre-t-il en une seule colonne ?
Excel, dans de nombreuses langues européennes, utilise le point-virgule comme délimiteur CSV pour que la virgule reste libre pour les décimales. Passez au délimiteur ; dans le convertisseur et votre fichier fera l'aller-retour proprement.
La conversion CSV → JSON détecte-t-elle les nombres et les booléens ?
Oui. Les cellules dont tout le contenu est un nombre, true, false ou null sont converties dans le type JSON correspondant. Tout le reste reste une chaîne de caractères. Les zéros en tête sont conservés sous forme de chaînes pour éviter de tronquer les numéros de téléphone et les codes postaux.
Puis-je l'utiliser pour de très gros fichiers ?
Jusqu'à quelques mégaoctets, oui. Au-delà, l'onglet du navigateur peut saccader car tout se passe de manière synchrone sur le thread principal. Pour des exports de plusieurs centaines de mégaoctets, utilisez un outil en ligne de commande de type flux comme jq, csvkit ou miller.