Passer d'un CSV à un JSON, et inversement
Ce convertisseur transforme un fichier CSV en JSON et un JSON en CSV. Collez vos données ou ouvrez un fichier : le résultat s'affiche aussitôt, avec un aperçu des 100 premières lignes sous forme de tableau.
CSV et JSON en bref
Le CSV est un fichier texte : une ligne par enregistrement, des valeurs séparées par une virgule ou un point-virgule. C'est le format d'échange des tableurs et des logiciels de gestion.
Le JSON décrit des données avec des objets entre accolades, des listes entre crochets, des textes, des nombres et true, false ou null. C'est la langue des API web.
Mode d'emploi
- Choisissez le sens : « CSV → JSON » ou « JSON → CSV ».
- Collez vos données, cliquez sur « Ouvrir un fichier » ou déposez le fichier dans la zone de saisie.
- Réglez au besoin « Séparateur », « Première ligne = en-têtes », « Convertir les types » et « Forme du JSON » (tableau d'objets, tableau de tableaux ou objet indexé par une colonne) ; dans l'autre sens, « Aplatir les objets imbriqués » et « BOM UTF-8 dans le fichier téléchargé ».
- Récupérez le résultat avec « Copier » ou « Télécharger ».
Un exemple chiffré
Avec ce CSV exporté par un tableur français :
produit;stock.code;prix
Café;069;4,90
l'outil détecte le point-virgule et, types convertis, zéros initiaux gardés, donne {"produit": "Café", "stock.code": "069", "prix": 4.9}. Le code « 069 » reste du texte, le prix « 4,90 » devient le nombre 4.9. En cochant « Notation pointée », la colonne devient "stock": {"code": "069"}.
Quand convertir ?
- Import dans une application : une boutique en ligne ou un logiciel de comptabilité réclame un CSV, alors que vos données sortent d'une API en JSON.
- API : transformer une grille tarifaire en JSON pour alimenter un site ou des tests.
- Tableur : ouvrir la réponse d'une API dans un tableur pour la trier et la filtrer.
Les pièges du CSV
- Le séparateur dépend de la langue du tableur. En France, en Allemagne, en Italie et en Espagne, la virgule sert aux décimales (12,50 €) : les tableurs enregistrent donc le CSV avec des points-virgules. Sur cette page, « JSON → CSV » propose donc le point-virgule.
- L'encodage. Sans BOM UTF-8 au début du fichier, un tableur peut afficher « Café » au lieu de « Café ». L'option est cochée par défaut ; un fichier en Windows-1252 est reconnu et signalé.
- Les guillemets. Un champ qui contient le séparateur, un guillemet ou un retour à la ligne doit être entouré de guillemets, et ses guillemets doublés :
"Dit ""bonjour""". L'outil suit la RFC 4180 et signale un guillemet jamais refermé avec sa ligne. - Les zéros initiaux et les dates. Un tableur transforme un code postal comme 01000 en 1000 et « 1-2 » en date. Gardez « Garder les zéros initiaux » coché.
Si une ligne n'a pas le même nombre de colonnes que l'en-tête, un avertissement indique son numéro, par exemple « ligne 4 : 5 champs ».
Structures imbriquées
Un CSV est plat, un JSON ne l'est pas. Dans le sens JSON → CSV, {"adresse": {"ville": "Lyon"}} donne une colonne adresse.ville, et un tableau comme ["bio", "local"] est écrit en JSON dans sa cellule : "[""bio"",""local""]" avec le point-virgule. Les colonnes réunissent toutes les clés rencontrées ; une clé absente laisse la cellule vide. Dans l'autre sens, la notation pointée reconstruit les objets, si bien qu'un aller-retour rend le même fichier.
Confidentialité
Tout est calculé dans votre navigateur, dans un processus séparé qui ne fige pas la page, même avec 50 Mo. Aucune donnée n'est envoyée ni enregistrée.
Questions fréquentes
Pourquoi mon CSV s'ouvre-t-il dans une seule colonne ?
Le tableur attend un autre séparateur. En France, choisissez « Point-virgule ; » au moment de télécharger le CSV.
Comment éviter que 007 devienne 7 ?
Cochez « Garder les zéros initiaux » : tout nombre qui commence par un zéro reste du texte. Décochez « Convertir les types » pour garder toutes les valeurs en texte.
Quelle structure JSON est acceptée pour créer un CSV ?
Un tableau d'objets, un tableau de tableaux, un objet dont chaque valeur est un objet, ou un objet seul, qui donne une ligne.
Que se passe-t-il avec un JSON invalide ?
L'outil indique la ligne, la colonne et la cause, par exemple une virgule en trop avant une accolade fermante. Corrigez puis la conversion repart toute seule.