Code Gratuit

Convertisseur CSV ↔ JSON

Convertissez un fichier CSV en JSON (et un tableau JSON en CSV) : détection du séparateur, guillemets gérés, première ligne en en-têtes, import et export de fichiers.

Mis à jour le 8 octobre 2026
Sens de la conversion
—

Vos données restent dans votre navigateur : aucune saisie n'est envoyée à nos serveurs.

À propos de cet outil

Ce convertisseur transforme un tableau CSV (issu d'Excel, de Google Sheets ou d'un export de base de données) en JSON, et un tableau JSON en CSV. Il détecte automatiquement le séparateur (virgule, point-virgule, tabulation), gère les valeurs entre guillemets contenant des séparateurs ou des retours à la ligne selon la norme RFC 4180, et peut typer les nombres et les booléens. Tout se passe dans votre navigateur : vos données ne sont pas envoyées.

Comment utiliser cet outil

  1. Choisissez le sens de conversion : CSV vers JSON ou JSON vers CSV.
  2. Collez vos données ou importez un fichier .csv, .tsv ou .json.
  3. Réglez le séparateur (détection automatique par défaut) et indiquez si la première ligne contient les en-têtes.
  4. Activez la détection des nombres et des booléens pour obtenir des valeurs typées.
  5. Copiez le résultat ou téléchargez-le en fichier.

CSV et JSON : deux manières de représenter des données

Le CSV (Comma-Separated Values) est le format d'échange des tableurs et des exports de bases de données : une ligne de texte par enregistrement, des champs séparés par un caractère particulier. Le JSON est celui des API et des applications web : une structure d'objets et de tableaux, avec des types (texte, nombre, booléen, null). Passer de l'un à l'autre est une opération quotidienne, mais elle suppose de comprendre ce qui les distingue.

Comparaison des deux formats
CritèreCSVJSON
StructurePlate : lignes et colonnes.Hiérarchique : objets et tableaux imbriqués.
TypesAucun : tout est du texte.Texte, nombre, booléen, null, objet, tableau.
NormalisationRFC 4180 (informative), appliquée de façon variable.RFC 8259 et ECMA-404, précises et strictes.
PoidsCompact : les noms de colonnes ne sont écrits qu'une fois.Plus verbeux : chaque objet répète ses clés.
Lecture humaineFacile dans un tableur.Facile dans un éditeur de texte.

Les règles du CSV (RFC 4180) et ce que fait l'outil

La RFC 4180, publiée en 2005 pour décrire les pratiques courantes et enregistrer le type de média text/csv, fixe les règles suivantes :

  • chaque enregistrement tient sur une ligne, et les champs sont séparés par un séparateur (la virgule) ;
  • un champ qui contient le séparateur, un guillemet ou un retour à la ligne est entouré de guillemets doubles ;
  • un guillemet à l'intérieur d'un champ entre guillemets est doublé : "Il a dit ""bonjour""" ;
  • une première ligne d'en-têtes est possible ; tous les enregistrements devraient avoir le même nombre de champs.

L'outil lit et écrit ces règles : un champ comme "Lyon, 3e" n'est pas coupé à la virgule, et un champ qui contient un retour à la ligne reste un seul champ. Les lignes totalement vides sont ignorées, les en-têtes en double reçoivent un suffixe (nom, nom_2) et une colonne manquante en fin de ligne est remplie par une chaîne vide.

Exemple

nom;age;ville
Alice;30;Paris
Bruno;25;"Lyon, 3e" se convertit en [{"nom":"Alice","age":30,"ville":"Paris"},{"nom":"Bruno","age":25,"ville":"Lyon, 3e"}].

Le piège du tableur français : séparateur, virgule décimale et accents

La RFC 4180 parle de virgule, mais dans la pratique, le séparateur dépend de la langue du système. En France, la virgule est le séparateur décimal (« 3,14 »), donc le séparateur de liste des tableurs est le point-virgule : un fichier « CSV » enregistré avec Excel en français est en réalité séparé par des points-virgules. D'autres sources utilisent la tabulation (fichiers « TSV ») ou la barre verticale. L'outil détecte automatiquement le séparateur le plus régulier sur les premières lignes ; vous pouvez le forcer si le fichier est ambigu.

Deux autres sources de difficultés :

  • La virgule décimale. Dans un CSV à point-virgule, « 1,5 » désigne le nombre un et demi, mais JSON n'accepte que le point décimal (1.5). L'option « Reconnaître la virgule décimale française » fait la conversion. Elle ne s'applique que si le séparateur n'est pas la virgule, sans quoi « 1,5 » serait coupé en deux champs.
  • Les accents. Ouvert par double clic, un fichier CSV en UTF-8 est parfois lu par Excel comme s'il était en Windows-1252 : « é » apparaît « é ». La parade est d'ajouter à l'export un BOM (byte order mark), une marque invisible au début du fichier qui signale l'UTF-8. L'outil le fait par défaut lors d'une conversion de JSON vers CSV ; vous pouvez le désactiver pour les logiciels que cette marque gêne.

Les types de données : pourquoi un code postal perd son zéro

Un CSV ne contient que du texte. C'est le programme qui le lit qui devine ensuite si « 12 » est un nombre, « true » un booléen, « 01/02/2026 » une date. Les tableurs sont connus pour leur enthousiasme en la matière : le code postal 01000 devient 1000, un numéro de téléphone 0612345678 perd son zéro, un identifiant de 18 chiffres s'affiche en notation scientifique (1,23457E+17) et une référence comme « 3-4 » devient une date. Les noms de gènes (SEPT2, MARCH1…) convertis en dates par les tableurs ont même conduit les généticiens à renommer plusieurs gènes.

L'option « Convertir les nombres et les booléens » de l'outil est volontairement prudente :

  • les zéros de tête sont conservés : 01000 reste une chaîne ("01000"), car ce n'est pas un nombre au sens de JSON ;
  • les nombres de plus de 15 chiffres restent des chaînes, car JavaScript les arrondirait (voir le formateur JSON) ;
  • les mots true et false deviennent des booléens ; tout le reste (dates, textes, téléphones) reste du texte ;
  • décochez l'option pour obtenir uniquement des chaînes : c'est le choix le plus sûr si la structure doit rester identique à la source.

Pour les dates, le format ISO 8601 (2026-10-08) est le seul qui ne prête à aucune confusion entre jour et mois. Le convertisseur de timestamp vous aide à passer de l'un à l'autre.

Du plat à l'imbriqué : les limites de la conversion

  • CSV vers JSON produit toujours un tableau d'objets plats (une clé par colonne). Si vous avez besoin d'une structure imbriquée (une adresse avec rue et ville, par exemple), regroupez-la ensuite avec un script, ou nommez les colonnes de façon à pouvoir les traiter automatiquement (adresse.ville).
  • JSON vers CSV attend un tableau d'objets : les colonnes sont l'union des clés rencontrées (un objet qui n'a pas une clé laisse une cellule vide). Les valeurs imbriquées (objets, tableaux) sont conservées sous forme de texte JSON dans la cellule : aplatissez-les avant la conversion si vous voulez les voir dans des colonnes séparées.
  • Un CSV sans en-tête peut être converti en tableau de tableaux en décochant la première option.
  • La taille. La conversion s'effectue localement, dans la mémoire de votre navigateur : quelques dizaines de milliers de lignes ne posent pas de difficulté. Pour des fichiers de plusieurs centaines de mégaoctets, préférez un outil en ligne de commande ou une bibliothèque de lecture en flux continu.
Attention aux fichiers venus de l'extérieur Une cellule qui commence par =, +, - ou @ est interprétée comme une formule par les tableurs : c'est l'« injection CSV ». Ouvrir un fichier non fiable dans Excel peut déclencher l'exécution de formules malveillantes (ouverture de liens, envoi de données). Si vous exportez des données saisies par des utilisateurs vers un CSV, neutralisez ces caractères en début de cellule, par exemple en les faisant précéder d'une apostrophe.

Questions fréquentes

Quel séparateur utiliser dans un CSV français ?

Excel en version française exporte avec un point-virgule, car la virgule sert de séparateur décimal. L'outil détecte la virgule, le point-virgule et la tabulation en comparant leur fréquence dans les premières lignes ; vous pouvez aussi forcer le séparateur.

Comment sont gérées les valeurs contenant des virgules ou des guillemets ?

Selon la norme RFC 4180, une valeur contenant le séparateur, un retour à la ligne ou un guillemet est placée entre guillemets, et chaque guillemet interne est doublé. L'outil lit et écrit ce format.

Que produit la conversion JSON vers CSV pour des objets imbriqués ?

Un tableau plat est attendu : une ligne par objet, une colonne par clé. Les valeurs imbriquées (objets, tableaux) sont conservées sous forme de texte JSON dans la cellule ; aplatissez-les en amont si besoin.

Mes caractères accentués s'affichent mal à l'ouverture dans Excel. Que faire ?

Excel attend parfois un fichier UTF-8 avec BOM. Cochez l'option BOM à l'export CSV pour qu'Excel reconnaisse l'encodage et affiche correctement les accents.

Y a-t-il une limite de taille ?

La conversion s'effectue localement : seule la mémoire de votre navigateur limite la taille. Quelques dizaines de milliers de lignes se traitent sans difficulté ; au-delà, privilégiez un outil en ligne de commande.

↑ ↓ naviguerEntrée ouvrirÉchap fermer