Qu'est-ce que la conversion CSV vers JSON ?
CSV (Comma-Separated Values, RFC 4180) est un format texte plat et tabulaire ; JSON (JavaScript Object Notation, RFC 8259) est un format texte en arbre pour données structurées. Convertir CSV en JSON transforme une table adaptée aux tableurs en un tableau d'objets adapté aux API — un objet par ligne, la ligne d'en-tête fournissant les clés — sans retaper une seule cellule.
Comment fonctionne la conversion CSV vers JSON ?
Chaque conversion s'exécute localement dans votre navigateur. Les étapes principales sont :
- Vous collez le CSV dans le panneau d'entrée et appuyez sur CONVERTIR ; l'outil analyse le texte et émet un tableau JSON d'objets dans le panneau de sortie.
- Une machine à états caractère par caractère (FIELD_START → IN_UNQUOTED_FIELD ou IN_QUOTED_FIELD) parcourt l'entrée, respecte l'échappement de guillemet
"", reconnaît à la fois\r\net\ncomme terminateurs de ligne, et produit un tableau 2-D de chaînes comme représentation intermédiaire. - Si la première ligne est marquée comme en-tête, ses cellules deviennent les clés des objets ; sinon l'outil génère des clés synthétiques
field0,field1, … pour que chaque ligne produise quand même un objet complet. - Le délimiteur (virgule, point-virgule, tabulation, barre verticale ou détection automatique) et la coercion de types (nombres / booléens /
null) sont configurables. Avec la coercion activée,30devient le nombre 30 ettruedevient le booléen ; désactivée, chaque cellule reste une chaîne. - La sortie est écrite dans la zone de texte en lecture seule sous forme de texte formaté par
JSON.stringify, et un lien de téléchargement construit unBlobavec le type MIMEapplication/json;charset=utf-8afin que vous puissiez enregistrer le résultat en un clic.
Pourquoi convertir CSV en JSON avec cet outil ?
- Confidentialité : chaque passe d'analyse et de transformation se produit dans votre navigateur. Les données n'atteignent jamais nos serveurs.
- Exactitude : l'analyseur CSV est une vraie machine à états. Les champs contenant des virgules entre guillemets (
"Bob, Jr."), des retours à la ligne intégrés et des guillemets échappés sont analysés en une seule cellule, et non en trois — les implémentations naïves à base desplit(',')se trompent ici. - Fidélité des types : la coercion optionnelle transforme les cellules numériques et booléennes en vrais nombres et booléens JSON, de sorte que le tableau obtenu est prêt à être consommé directement sans une seconde passe de nettoyage.
- Souplesse : choisissez n'importe quel délimiteur pour les dialectes CSV non séparés par virgule, configurez si la première ligne est un en-tête, et activez ou désactivez la coercion de types selon que chaque cellule doive ou non rester une chaîne.
Quelles sont les applications courantes de la conversion CSV vers JSON ?
Analyser du CSV pour obtenir du JSON revient dans tout le travail de la donnée et de l'outillage :
- Mock d'API : coller un fixture CSV exporté d'un tableur et le convertir en tableau JSON que votre serveur local peut renvoyer comme endpoint simulé.
- Import de données : transformer un export de tableur (contacts, inventaire, réponses à un sondage) en tableau JSON que votre application ou script peut itérer sans dépendance à un analyseur CSV.
- Édition de configuration : laisser des relecteurs non techniques modifier des réglages ou des feature flags cellule par cellule dans un tableur, puis convertir le CSV sauvegardé en JSON que votre app charge réellement.
À quoi ressemble un exemple de conversion CSV vers JSON ?
Coller name,age sur la première ligne, Alice,30 sur la deuxième et "Bob, Jr.",25 sur la troisième, puis appuyer sur CONVERTIR avec le délimiteur virgule, première ligne comme clés et coercion de types activée, produit [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — la virgule entre guillemets dans "Bob, Jr." reste à l'intérieur d'un seul champ, et les âges deviennent de vrais nombres JSON.
Ce convertisseur CSV vers JSON s'exécute-t-il entièrement dans mon navigateur ?
Oui. Chaque passe d'analyse et de transformation s'exécute localement en JavaScript dans votre onglet. L'outil n'appelle ni fetch, ni XMLHttpRequest, ni navigator.sendBeacon — votre charge utile CSV n'atteint jamais nos serveurs, un convertisseur tiers ou un pipeline analytics. L'outil fonctionne aussi hors ligne une fois la page chargée, car c'est un bundle statique HTML/CSS/JS sans dépendance d'API à l'exécution.
Quelle est la taille maximale d'entrée que ce convertisseur peut traiter ?
Le convertisseur met toute l'entrée en mémoire et s'exécute de façon synchrone sur le thread principal, donc les limites pratiques dépendent de votre appareil. Des entrées jusqu'à environ 10 Mo de CSV (à peu près 100 000 lignes typiques) se convertissent sans pause perceptible sur un ordinateur portable récent. Au-delà, l'interface peut figer pendant que l'analyseur tourne. La conversion en flux via un Web Worker et un analyseur par chunks est un suivi prévu — pour l'instant, découpez les très gros jeux de données avant de les coller.
Comment l'analyseur CSV vers JSON gère-t-il les virgules entre guillemets et les retours à la ligne intégrés ?
L'analyseur est une machine à états caractère par caractère à trois états (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — pas un naïf split(','). Un champ entouré de guillemets doubles peut contenir le délimiteur, un CR, un LF ou un guillemet double littéral échappé en "", sans briser les frontières du champ. Ainsi "Bob, Jr.",25 est analysé en deux champs, pas trois, et une description multi-ligne entre guillemets sur plusieurs lignes est analysée en une seule cellule.
Comment sont typés les nombres, les booléens et les cellules vides dans la sortie JSON ?
Le typage est contrôlé par le commutateur Coercion de types. Avec la coercion activée (le défaut), une cellule qui ressemble à un nombre devient un nombre JSON, true/false deviennent des booléens et le littéral null devient null JSON ; tout le reste reste une chaîne. Avec la coercion désactivée, chaque valeur est conservée comme chaîne quel que soit son contenu — utile quand des zéros en tête, des numéros de téléphone ou des codes d'ID doivent être préservés intacts. Les cellules finales manquantes dans une ligne courte sont émises comme chaînes vides pour que chaque objet ait l'ensemble complet des clés.
Quels délimiteurs le côté CSV prend-il en charge ?
Quatre délimiteurs explicites sont pris en charge : virgule (,, valeur par défaut de la RFC 4180), point-virgule (;, courant dans les locales européennes), tabulation (\t, le dialecte TSV) et barre verticale (|). Vous pouvez aussi choisir Détection automatique, qui compte les occurrences de chaque candidat dans les 4 premiers Ko d'entrée hors des zones entre guillemets et retient le plus fréquent qui produit un nombre de colonnes cohérent sur les cinq premières lignes.
Ce convertisseur CSV vers JSON analyse avec une vraie machine à états et émet un JSON propre et prêt à consommer que vous pouvez coller directement dans un appel d'API, un script ou une revue de code — sans envoyer un seul octet.