Convertir CSV en JSON

Vous pouvez convertir CSV en JSON gratuitement et sans compte : déposez le fichier ci-dessus et, une ou deux secondes plus tard, le résultat est prêt à télécharger. La conversion se fait dans votre propre navigateur : le fichier n’est donc jamais téléversé. Cela marche sous Windows, macOS et Linux comme sur iPhone et Android, et continue de marcher si vous coupez le réseau.

  • Où cela s’exécute Dans votre navigateur. Le fichier n’est pas téléversé.
  • Sans perte Rien ne se perd. JSON contient exactement ce que contenait CSV.
  • Limite de taille Jusqu’à 100 Mo par fichier, gratuitement et sans compte.

Jusqu’à 100 fichiers à la fois. Les formats mélangés ne posent pas de problème.

Pourquoi convertir un CSV en JSON

Le CSV est ce qu’exportent toutes les bases de données, tous les tableurs et tous les outils d’analyse. Le JSON est ce qu’attendent toutes les API, tous les jeux de test et tous les fichiers de configuration. L’écart entre les deux est étroit et fastidieux, c’est-à-dire exactement le genre d’écart qui mérite un outil plutôt qu’un script jetable réécrit à chaque fois.

Ce qui sort — un tableau d’objets, clés en tête

La ligne d’en-tête fournit les clés et chaque ligne suivante devient un objet, la forme que suppose à peu près tout ce qui se trouve en aval. Les champs entre guillemets, les guillemets échappés et les retours à la ligne à l’intérieur d’une cellule sont analysés correctement : une adresse contenant une virgule survit donc au passage, là où un découpage naïf sur les virgules la met en pièces.

L’inférence de types, et là où elle vous mordra

Les types sont devinés, et c’est la partie à vérifier. Une valeur qui ressemble à un nombre devient un nombre JSON, `true` et `false` deviennent des booléens, ce qui est presque toujours ce que l’on veut pour des quantités et des indicateurs.

C’est la mauvaise réponse pour les identifiants, et le français en fournit les exemples les plus douloureux. Un code postal comme 06000 devient 6000, un numéro de téléphone 0612345678 perd son zéro de tête, et une référence client complétée par des zéros les perd en silence. Si vos données contiennent des codes plutôt que des quantités, regardez le résultat avant de vous y fier — c’est de loin la façon la plus courante d’obtenir un JSON valide et des données fausses.

Convertir un export clients sans le téléverser

Tout se déroule dans votre navigateur : un gros export se convertit donc aussi vite que votre machine le permet et ne la quitte jamais. Cela compte davantage sur cette paire que sur la plupart des autres, parce qu’un CSV est très souvent une liste de clients, un historique de commandes ou l’export d’un système que personne n’a envie de décrire à un tiers.

Garder les identifiants sous forme de texte

Puisque tout ce qui ressemble à un nombre en devient un, la défense pour une colonne de codes consiste à lever l’ambiguïté avant de convertir : une apostrophe en tête dans le tableur, un préfixe, ou un export où la colonne est déjà entre guillemets la marquent comme du texte.

La règle générale mérite d’être intégrée une fois pour toutes. Si vous n’additionneriez jamais deux valeurs d’une colonne, c’est un identifiant, et il veut rester une chaîne. Codes postaux, références d’articles, numéros de téléphone, numéros de compte et SIRET échouent tous au test de l’addition.

Les cellules vides, et ce qu’elles deviennent

Une cellule vide devient `null`, et non une chaîne vide. Une ligne `1,,3` sous les en-têtes `a,b,c` ressort en `{"a":1,"b":null,"c":3}` : c’est la conséquence assumée de la détection de types qui fait de `1` un nombre plutôt que `"1"`.

La différence compte dès que ce qui consomme le JSON la fait : un JSON Schema exigeant une chaîne refusera `null`, et une colonne déclarée NOT NULL rejettera la ligne. S’y ajoute qu’un CSV n’a de toute façon aucun moyen d’exprimer l’écart entre un champ vide et un champ absent. Si cette distinction a un sens chez vous, il faut l’inscrire explicitement dans le CSV ou la rétablir après coup. Aucun convertisseur ne peut restituer une information que le format source ne sait pas porter.

En-têtes en double, en-têtes manquants

Deux colonnes partageant un même en-tête entrent en collision, puisque les clés d’un objet sont uniques : la dernière l’emporte et la première disparaît sans avertissement. La ligne d’en-tête mérite un coup d’œil avant de convertir.

Une ligne d’en-tête plus courte que les lignes de données laisse les colonnes excédentaires sans clé du tout. Corrigez l’en-tête dans le CSV — c’est une ligne à changer, et c’est le seul endroit où cette information existe.

Quelle taille de fichier cela supporte

L’analyse est rapide et la limite est la mémoire, parce que le tableau entier est construit avant d’être écrit. Quelques dizaines de mégaoctets passent sans remarque ; quelques centaines commencent à faire souffrir un onglet de navigateur.

Pour un export de cet ordre, le bon outil est un analyseur en flux dans un script, et non un convertisseur qui tourne dans une page. Le dire vaut mieux que d’échouer au milieu d’un fichier de 900 Mo.

La forme obtenue, et celles que vous n’obtiendrez pas

La sortie est un tableau d’objets, ce qu’attendent les API, les jeux de test et la plupart des bibliothèques. Ce n’est pas du JSON ligne par ligne, et ce n’est pas un objet indexé par une colonne d’identifiants.

Ces deux formes sont à quelques lignes de transformation une fois le tableau en main, et aucune ne peut être choisie à votre place sans savoir quelle colonne sert de clé. Un tableau est la forme qui présume le moins.

Comment convertir CSV en JSON

  1. Déposez votre fichier CSV sur cette page, ou cliquez pour en choisir un.
  2. Choisissez JSON comme destination. La conversion se fait dans votre navigateur et le fichier n’est pas téléversé.
  3. Téléchargez le fichier JSON terminé.

CSV et JSON : ce qui change

CSV face à JSON
CSVJSON
Nom completComma-Separated ValuesJavaScript Object Notation
Extension de fichier.csv.json
Type de médiatext/csvapplication/json
Première publication19722001
SpécificationRFC 4180RFC 8259
LicenceStandard ouvertStandard ouvert
Situation actuelleActuelActuel
S’ouvre dans un navigateurAucun navigateurTous les navigateurs
Envisagé à la placeXLSX, ParquetXML, YAML, NDJSON

Ce qui est conservé

Rien n’est écarté. CSV et JSON enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.

Ouvrir le résultat

JSON s’ouvre dans tous les navigateurs actuels. CSV va encore moins loin. Si le fichier part sur une page web ou dans un formulaire, c’est souvent toute la raison de la conversion.

Les logiciels habituels ne se recoupent pas : CSV s’ouvre dans Microsoft Excel, LibreOffice Calc et pandas, JSON dans Visual Studio Code, jq et Postman — celui qui reçoit le résultat a donc besoin d’un logiciel de la seconde liste.

À quoi sert chaque format

CSV a ete publié en 1972. La spécification est RFC 4180, et elle mérite d’être connue si le fichier doit survivre à l’outil qui l’a écrit.

JSON date de 2001, décrit par RFC 8259. Visual Studio Code, jq et Postman le lisent.

CSV a été publié en 1972 et JSON en 2001. Le plus ancien est en général le fichier le plus sûr à remettre ; le plus récent fait le même travail en moins d’octets.

De CSV à JSON : questions fréquentes

Mon fichier CSV est-il téléversé quelque part ?

Non. Cette conversion se fait entièrement dans votre navigateur : le fichier ne quitte donc pas votre appareil. Vous pouvez le vérifier vous-même — ouvrez l’onglet réseau des outils de développement et convertissez quelque chose. Vous verrez la page elle-même et les requêtes de statistiques et de publicité qui financent ce service, et pas une seule qui transporte votre fichier.

Convertir CSV en JSON est-il gratuit ?

Oui. Pas de compte, pas de filigrane et pas de quota journalier à dépenser : cela tourne sur votre propre machine, vous pouvez donc revenir autant de fois que vous voulez. Le navigateur traite des fichiers jusqu’à 100 Mo, 100 à la fois.

Y a-t-il une perte de qualité en convertissant CSV en JSON ?

Non. JSON enregistre le même contenu sans rien jeter : le résultat est identique en qualité à l’original.

La conversion de CSV à JSON est-elle sans perte ?

Rien n’est écarté. CSV et JSON enregistrent leur contenu sans perte : la conversion change l’emballage, pas la qualité, et elle peut être répétée sans que les dégâts s’accumulent.

En savoir plus sur ces formats