araç köşesi

Convertir un CSV en JSON

Transformez un tableau CSV en JSON ; le séparateur est détecté tout seul

Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.

Comment ça marche

La première ligne est lue comme l'en-tête : ses cellules deviennent les clés des objets JSON. En détection automatique, le séparateur n'est plus déduit de la seule première ligne mais de plusieurs lignes à la fois : la virgule, le point-virgule, la tabulation et la barre verticale sont mises en concurrence, et l'emporte celui qui donne le même nombre de colonnes sur chaque ligne. Une cellule d'en-tête contenant une barre verticale ne découpe donc plus le fichier de travers, et le point-virgule des exports Excel en réglage français est reconnu tout seul. Les trois fins de ligne sont lues : le CR+LF de Windows, le LF de macOS et de Linux, et le CR isolé des programmes très anciens. Les champs entre guillemets sont lus selon la norme RFC 4180 : une virgule ou un retour à la ligne placé à l'intérieur compte comme donnée. Quand la conversion des nombres est active, une cellule ne devient un nombre que si sa lecture est unique (34, -3, 12,5) ; toute écriture à double lecture reste du texte, de même que les codes commençant par un zéro et les suites de plus de 15 chiffres.

Cet outil est aussi connu sous le nom de convertir csv en json, csv en json, csv to json, export excel en json, transformer un csv en json.

Qu'est-ce que CSV ?

Le CSV (Comma-Separated Values) est la façon la plus ancienne et la plus répandue de stocker un tableau en texte brut : chaque ligne est un enregistrement, chaque cellule est séparée par un caractère. Excel et les tableurs le proposent à l'export ; les relevés bancaires et les rapports de vente en ligne se téléchargent souvent dans ce format. Malgré son nom, le séparateur n'est pas toujours une virgule : sur un système en français, la virgule sert aux décimales, donc Excel enregistre le CSV avec des points-virgules.

Qu'est-ce que JSON ?

Le JSON (JavaScript Object Notation) est un format texte qui représente les données par des paires clé-valeur et des listes ; c'est la langue commune des services web. Les API demandent et renvoient le plus souvent du JSON. Il peut imbriquer des structures, chaque valeur a un type précis (nombre, texte, booléen), et presque tous les langages de programmation le lisent en une ligne de code. Sa différence avec un tableau : il n'est pas obligé de rester dans une grille de lignes et de colonnes.

Quelle est la différence entre CSV et JSON ?

Le CSV est un tableau plat : des lignes, des colonnes, aucune hiérarchie, et le type des cellules reste flou — impossible de savoir depuis le fichier si « 34 » est un nombre ou un texte. Le JSON porte l'information de type et peut imbriquer des structures. Cette conversion devient nécessaire quand des données venues d'un tableur doivent alimenter une API, un écran d'import ou du code : l'outil transforme la ligne d'en-tête en clés et, si vous le souhaitez, convertit les chiffres en vrais nombres.

Fichiers venant d'Excel : deux pièges connus

Sur un système réglé en français, Excel enregistre le CSV avec des points-virgules, parce que la virgule est déjà prise comme séparateur décimal. En détection automatique, ce cas se règle tout seul ; si le résultat vous semble faux, choisissez le point-virgule à la main.

Un fichier exporté peut aussi commencer par une marque invisible appelée BOM. L'outil la retire ; sans cela, le nom de la première colonne sortirait déformé.

Quelles cellules deviennent des nombres ?

Avec la conversion active, une cellule n'est convertie que si sa lecture ne fait aucun doute. C'est le cas de 34, de -3 et de 12,5. Ce n'est pas le cas de 1,234 : dans un fichier écrit en français, cela vaut un virgule deux cent trente-quatre ; dans un fichier venu d'un système anglophone, mille deux cent trente-quatre, la virgule y servant de séparateur de milliers. Le fichier ne dit nulle part quelle convention l'a produit, alors l'outil ne devine pas et garde la cellule en texte.

La règle tient en une phrase : exactement trois chiffres après le séparateur (1,234 ou 1.234) peuvent former un groupe de milliers, la cellule reste donc du texte ; un ou deux chiffres (12,5 · 3.75) ne peuvent être qu'une décimale, puisqu'un groupe de milliers compte toujours trois chiffres, et la valeur est convertie. La même prudence protège les codes commençant par un zéro (007, 0212) et les suites de plus de 15 chiffres : les convertir effacerait le zéro de tête ou les derniers chiffres d'un numéro de compte.

Si ces colonnes sont bien des quantités, retirez les séparateurs de milliers avant de coller, ou faites le calcul là où les données arrivent. Pour que rien ne soit converti, réglez « Convertir les nombres » sur Non : true et false sortent alors aussi en texte.

  • 34 · -3 · 12,5 · 3.75 → nombre
  • 1,234 · 1.234 (groupe de trois chiffres) → texte, lecture ambiguë
  • 007 · 0212 → texte, le zéro de tête porte du sens
  • suites de plus de 15 chiffres → texte, la précision serait perdue

Tableau d'objets ou tableau de tableaux ?

Le tableau d'objets est la forme attendue par la plupart des API et des imports de base de données : chaque ligne devient un objet fait de paires clé-valeur.

Le tableau de tableaux garde l'en-tête comme une ligne de données parmi les autres. Choisissez-le quand l'ordre des colonnes compte plus que leurs noms.

Questions fréquentes

Comment convertir un CSV en JSON ?

Collez vos données dans le panneau de gauche ; le résultat apparaît aussitôt à droite. Vous pouvez le copier ou le télécharger en fichier .json.

Les fichiers séparés par des points-virgules sont-ils pris en charge ?

Oui. Le séparateur est détecté automatiquement, et vous pouvez aussi le choisir à la main dans la liste. Les exports d'Excel en réglage français utilisent presque toujours le point-virgule.

Pourquoi 1,234 n'a-t-il pas été converti en nombre ?

Parce que cette écriture a deux lectures : un virgule deux cent trente-quatre en français, mille deux cent trente-quatre dans un fichier venu d'un système anglophone. L'outil garde la cellule en texte plutôt que de deviner, car une mauvaise supposition multiplie ou divise la valeur par mille sans le moindre avertissement. Les valeurs à une ou deux décimales (12,5) n'ont qu'une lecture et sont converties.

Les fichiers CSV venus de systèmes anciens sont-ils lus ?

Oui. Les fichiers dont les lignes se terminent par un simple retour chariot (CR) sont découpés correctement. Dans beaucoup d'outils, ces fichiers apparaissent comme une seule longue ligne sans qu'aucune erreur ne soit signalée ; ici, le nombre de lignes affiché sous le résultat vous permet de vérifier que tous les enregistrements sont bien arrivés.

Une virgule à l'intérieur d'un champ pose-t-elle problème ?

Non. Les champs entre guillemets sont lus correctement : la virgule ou le retour à la ligne qu'ils contiennent est conservé comme donnée.

Mes données sont-elles envoyées quelque part ?

Non. L'analyse se fait dans votre navigateur ; ce que vous collez n'est envoyé à aucun serveur.