Skip to content

Convertisseur CSV vers JSON (et inversement)

CSV ↔ JSON avec une vraie analyse RFC 4180, entièrement dans votre navigateur.

Buğra SözeriDéveloppeur
Updated · Published

Le CSV a l’air trivial — des valeurs séparées par des virgules — et c’est exactement pour cela que tant de convertisseurs se trompent. Le CSV du monde réel comporte des champs entre guillemets qui contiennent des virgules, des guillemets échappés écrits en les doublant, des sauts de ligne intégrés dans une seule cellule, et une ménagerie de dialectes de délimiteurs : Excel, dans la plupart des paramètres régionaux européens, exporte avec des points-virgules parce que la virgule y est le séparateur décimal. L’analyseur ci-dessous suit la RFC 4180, ce qui se rapproche le plus d’un standard pour le CSV, et détecte automatiquement les délimiteurs virgule, point-virgule ou tabulation. Tout s’exécute localement dans votre navigateur ; vos données ne touchent jamais un serveur.

[ { "name": "Doe, Jane", "city": "Berlin", "zip": "10115" }, { "name": "Bob", "city": "Princeton", "zip": "08540" } ]

How to use

  1. Choisissez une direction

    CSV → JSON ou JSON → CSV. Déposer un fichier .csv ou .json sur la zone d'entrée change automatiquement la direction.

  2. Collez ou déposez vos données

    Collez le texte directement, ou glissez un fichier .csv ou .json (jusqu'à 8 Mo) sur la zone d'entrée. La sortie convertie apparaît au fur et à mesure que vous tapez.

  3. Ajustez les options

    Laissez le délimiteur en détection automatique, sauf s'il se trompe. Décochez « La première ligne est un en-tête » pour les données sans en-tête, et ne cochez « Inférer les types » que si vos données ne comportent ni zéros initiaux ni longs identifiants numériques.

  4. Copiez ou téléchargez

    Utilisez le bouton de copie pour un collage rapide, ou téléchargez le résultat sous data.json ou data.csv.

Frequently asked questions

Puis-je envoyer un fichier au lieu de coller ?
Oui — glissez un fichier .csv ou .json sur la zone d'entrée. Il est lu localement avec le FileReader du navigateur (jusqu'à 8 Mo) et n'est jamais envoyé nulle part. Déposer un fichier .json bascule aussi l'outil en mode JSON → CSV.
Pourquoi les nombres restent-ils des chaînes par défaut ?
Parce que la conversion silencieuse corrompt les vraies données. Un code postal comme 08540 perd son zéro initial dès qu'il devient un nombre, et un identifiant à 16 chiffres, comme un numéro de carte ou de compte, dépasse la plage des entiers sûrs de JavaScript (2^53) et se fait arrondir. Les chaînes sont sans perte ; n'activez « Inférer les types » que si vous savez que vos colonnes sont réellement numériques ou booléennes.
Mon CSV utilise des points-virgules — cela fonctionnera-t-il ?
Oui. Excel en français, en allemand, en turc et dans la plupart des autres paramètres régionaux européens exporte des fichiers séparés par des points-virgules, car la virgule y est le séparateur décimal. Le détecteur automatique évalue la virgule, le point-virgule et la tabulation sur la première ligne de données et retient le gagnant ; vous pouvez aussi imposer un délimiteur via le menu déroulant.
Et les sauts de ligne à l'intérieur d'une cellule ?
Gérés correctement. Selon la RFC 4180, un champ encadré de guillemets doubles peut contenir des retours à la ligne, des virgules et des guillemets (échappés en les doublant). L'analyseur suit l'état des guillemets d'une ligne à l'autre au lieu de découper naïvement sur les sauts de ligne — c'est là que la plupart des convertisseurs bricolés cassent.
Comment le JSON imbriqué est-il converti en CSV ?
Le CSV est plat, donc les objets et tableaux imbriqués ne peuvent pas y être représentés nativement. Cet outil sérialise toute valeur imbriquée avec JSON.stringify dans sa cellule — une limite assumée plutôt qu'un aplatissement approximatif et destructeur. Si vous avez besoin d'un aplatissement en colonnes par chemins pointés, restructurez d'abord le JSON.
Que se passe-t-il avec des en-têtes de colonnes en double ?
Les noms d'en-têtes dupliqués sont dédoublonnés par un suffixe numérique : une deuxième colonne « name » devient « name_2 », une troisième « name_3 », et ainsi de suite. Sans cela, les colonnes suivantes écraseraient silencieusement les précédentes dans les objets produits.

About

La RFC 4180 en pratique face aux dialectes sauvages

La RFC 4180 est un mémo informatif de 2005, pas une norme stricte, mais elle a codifié le noyau raisonnable : champs séparés par des virgules, enregistrements par CRLF, champs contenant virgules, guillemets ou sauts de ligne encadrés de guillemets doubles, et guillemets littéraux échappés en les doublant. Sur presque tout le reste, le terrain diverge — délimiteurs point-virgule et tabulation, fins de ligne LF simples, saut de ligne final facultatif, marques d'ordre des octets ajoutées par Excel et fichiers sans en-tête. Un convertisseur robuste accepte les dialectes en entrée (celui-ci détecte automatiquement les délimiteurs et accepte CRLF comme LF) tout en émettant une sortie strictement conforme.

Quand le CSV bat le JSON, et inversement

Le CSV gagne pour les données tabulaires plates : il est plus compact, se traite ligne par ligne en flux, s'ouvre directement dans Excel et Google Sheets, et se charge dans toutes les bases de données et bibliothèques de dataframes jamais écrites. Le JSON gagne dès que vos données ont de la structure — imbrication, tableaux de longueurs inégales, valeurs typées ou champs facultatifs. Il est aussi autodescriptif et sans ambiguïté sur la distinction chaînes/nombres, ce que le CSV n'est fondamentalement pas. Règle utile : si les données forment un tableau, livrez du CSV ; si elles forment un arbre, livrez du JSON ; si c'est un tableau aujourd'hui mais que la structure risque de croître, livrez du JSON et acceptez le surcoût de taille.

Sources & references

Authoritative references behind the math, constants, and tables on this page. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Outils associés