Convertir un CSV en JSON (et un JSON en CSV)

Convertir un CSV en JSON (ou un JSON en CSV) : collez un tableau ou du JSON, choisissez le sens, copiez le résultat ou téléchargez-le. L’outil détecte seul le séparateur (virgule, point-virgule, tabulation ou barre verticale), transforme les nombres en vrais nombres et signale les erreurs avec le numéro de ligne. Vos données ne quittent jamais le navigateur.

Source : § 2, IETF RFC 4180 – Common Format and MIME Type for Comma-Separated Values (CSV) Files. Mise à jour : .

CSV : première ligne = noms des colonnes. JSON : tableau d’objets ou de tableaux.

Votre texte reste dans votre navigateur : il n’est ni envoyé, ni enregistré, ni ajouté à l’adresse de la page.

CSV → JSON : les noms de colonnes deviennent les clés. JSON → CSV : écrit une ligne d’en-tête avec les clés.
42 devient le nombre 42 ; 007 reste du texte (sinon les zéros initiaux seraient perdus).
Ma boîte à outilsVos saisies sont enregistrées uniquement dans ce navigateur.

Résultat

Résultat
[ { "nom": "Anne Martin", "ville": "Lyon", "age": 34, "actif": true }, { "nom": "Ben Durand", "ville": "Lille", "age": 28, "actif": false }, { "nom": "Léa \"LM\" Petit", "ville": "Nantes", "age": "", "actif": true } ]
Taille
3 lignes de données, 4 colonnes, 277 caractères. Séparateur détecté : point-virgule.

Comment le calcul est fait

Le CSV (valeurs séparées par des virgules) est le format de tableau le plus simple : une ligne par enregistrement, des champs séparés par un séparateur. Le JSON est le format de données des API web. Cet outil convertit dans les deux sens, entièrement dans votre navigateur.

Convertir un CSV en JSON : mode d’emploi

  1. Collez le texte CSV (depuis un tableur : copiez les cellules puis collez, le séparateur est alors une tabulation).
  2. Laissez le sens « CSV → JSON ». Le séparateur est détecté ; choisissez-le vous-même si besoin.
  3. Choisissez la forme : tableau d’objets (chaque ligne devient {"colonne": valeur}) ou tableau de tableaux.
  4. Copiez le résultat ou téléchargez daten.json.

Types : nombre ou texte ?

Le CSV ne connaît pas les types : tout est du texte. Avec « Reconnaître nombres et true/false », les valeurs deviennent des nombres JSON, mais seulement sans perte : le nombre doit être valide selon la RFC 8259 § 6 (pas de zéro initial, pas de signe plus, pas de virgule décimale) et tenir en 15 chiffres significatifs. Les codes postaux comme 01000, les numéros de téléphone et de carte restent du texte. Un nombre français comme 1,5 reste aussi du texte.

Convertir un JSON en CSV

Un tableau d’objets devient un tableau : les colonnes sont l’union de toutes les clés dans l’ordre de première apparition, les valeurs manquantes restent vides. Les objets et tableaux imbriqués sont écrits comme texte JSON dans la cellule, car le CSV n’a pas de profondeur. Les champs contenant le séparateur, un guillemet ou un saut de ligne sont mis entre guillemets comme l’exige la RFC 4180.

Limites

Questions fréquentes

Comment convertir un CSV en JSON ?

Collez le CSV dans le champ d’entrée et choisissez « CSV → JSON ». La première ligne fournit les clés, chaque ligne suivante devient un objet. Copiez ou téléchargez le résultat.

Pourquoi mon CSV utilise-t-il des points-virgules ?

En version française, les tableurs utilisent la virgule comme séparateur décimal et écrivent donc le point-virgule comme séparateur de liste. L’outil reconnaît les deux ; en cas de doute, choisissez le séparateur à la main.

Les zéros initiaux (code postal 01000) sont-ils conservés ?

Oui. Les valeurs avec zéro initial restent du texte, car un nombre JSON ne peut pas en avoir (RFC 8259). Pour tout garder en texte, désactivez « Reconnaître nombres et true/false ».

Que devient un JSON imbriqué converti en CSV ?

Le CSV est plat : les objets et tableaux d’un enregistrement sont écrits comme texte JSON dans la cellule. Aplatissez d’abord la structure si vous voulez un tableau simple.

Comment convertir un CSV en JSON avec Python ?

Avec la bibliothèque standard : csv.DictReader(fichier) lit les lignes sous forme de dictionnaires et json.dumps(list(reader), ensure_ascii=False, indent=2) les écrit en JSON. Pour une conversion ponctuelle, cette page est plus rapide.

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

Non. La conversion se fait dans le navigateur, sans requête au serveur. L’entrée n’est ni enregistrée ni ajoutée à l’adresse de la page.

Sources et références juridiques

Dernière mise à jour :

Outils similaires