Données et développement · Gratuit · Sans inscription
Convertir un CSV en JSON
Transformez un tableau délimité en tableau d’objets JSON, avec détection de la virgule, du point-virgule, de la tabulation ou de la barre verticale.
Collez des données dont la première ligne contient les en-têtes, puis contrôlez le séparateur et la conversion des types. Le parseur respecte les champs entre guillemets, les guillemets doublés et les retours à la ligne contenus dans une cellule. Les valeurs restent du texte par défaut afin de préserver codes postaux, références, téléphones et zéros initiaux. Tout s’exécute dans cet onglet, avant copie ou téléchargement du JSON indenté.
🔒 Le traitement s’effectue dans ce navigateur ; vos données ne sont pas envoyées à FunnyTools.
Utiliser l’outil
Ce que vous pouvez faire ici
- Utiliser la première ligne comme noms de propriétés JSON.
- Détecter virgule, point-virgule, tabulation ou barre verticale.
- Conserver séparateurs et retours à la ligne placés dans des champs correctement cités.
- Garder les cellules sous forme de chaînes ou activer nombres et booléens.
- Afficher le nombre de lignes, de colonnes et le séparateur retenu.
Réponse rapide : passer d’un CSV à un tableau JSON
Copiez une table comprenant une ligne d’en-têtes, collez-la dans le champ puis choisissez « Détection automatique » ou le séparateur connu. Après « Convertir en JSON », chaque ligne de données devient un objet et chaque en-tête devient une clé. Ainsi, `nom;ville` puis `Léa;Nantes` produit un tableau contenant un objet avec les propriétés `nom` et `ville`. La sortie est indentée pour être relue avant copie ou téléchargement.
En France, un export de tableur utilise souvent le point-virgule parce que la virgule sert de séparateur décimal. Cette habitude dépend toutefois du logiciel et de ses réglages régionaux : ne la supposez pas. Vérifiez le résumé affiché par l’outil. Si la source compte cinq colonnes et que le résultat n’en annonce qu’une, le délimiteur est probablement incorrect ou les guillemets sont déséquilibrés.
En-têtes, lignes et structure obtenue
La première ligne définit les noms de propriétés. Des en-têtes comme `id_client;nom;actif` doivent être uniques, stables et conformes au contrat du système cible. Les espaces, accents et différences de casse sont autorisés en JSON, mais peuvent être gênants pour une API ou un langage de programmation. Corrigez les noms dans la source plutôt que de deviner une convention après la conversion.
La sortie est un tableau d’objets plats. Un en-tête `adresse.ville` reste une clé littérale ; il ne crée pas automatiquement un objet `adresse`. Une cellule vide devient une chaîne vide et une ligne entièrement vide est ignorée. Le convertisseur ne connaît ni relations entre tables, ni clé primaire, ni valeur obligatoire. Ces décisions relèvent du schéma métier et doivent être validées séparément.
- Une ligne d’en-têtes est nécessaire.
- Chaque ligne suivante produit un objet JSON plat.
- Les lignes vides sont omises, les cellules vides restent des chaînes vides.
- Le JSON syntaxiquement valide ne garantit pas le respect d’un schéma.
Virgule ou point-virgule dans un CSV français
Le mot CSV signifie historiquement « valeurs séparées par des virgules », mais les fichiers réels emploient aussi point-virgule, tabulation ou `|`. Avec une virgule décimale, `12,50`, le point-virgule évite une ambiguïté fréquente. Un fichier copié depuis Excel peut donc commencer par `produit;prix` alors qu’un export destiné à une API utilise `produit,prix`. Le sélecteur permet d’imposer le contrat documenté.
Ne remplacez pas toutes les virgules par des points-virgules. Une description, une adresse ou un nombre peut contenir une virgule légitime. Le format CSV protège ce contenu avec des guillemets. La bonne vérification consiste à comparer lignes et colonnes, puis à inspecter des cellules contenant ponctuation, accents et retours à la ligne. Une détection automatique sur deux lignes très courtes reste forcément moins fiable qu’un séparateur explicitement connu.
Guillemets, séparateurs et retours à la ligne
Un champ entouré de guillemets doubles peut contenir le séparateur. Dans un fichier à virgules, `"Paris, France"` représente une seule cellule. Un guillemet littéral est doublé : `"Elle a dit ""bonjour"""`. Un retour à la ligne peut également rester dans la cellule tant que les guillemets sont correctement ouverts et fermés. Le parseur applique ces règles ; un simple découpage avec `split(",")` ne le ferait pas.
Des guillemets non fermés peuvent absorber plusieurs lignes ou déclencher une erreur. L’outil refuse alors de présenter une sortie partielle comme fiable. Repérez la ligne signalée, comparez-la avec l’application qui a exporté le fichier et contrôlez le caractère de citation. N’effacez pas les guillemets au hasard : ils protègent souvent exactement les données qui contiennent un séparateur ou un saut de ligne.
Préserver les zéros initiaux et choisir les types
Par défaut, chaque cellule reste une chaîne. Ce choix préserve `00175`, un numéro de dossier, un code INSEE, un téléphone commençant par zéro ou un identifiant de vingt chiffres. Dans un CSV, ces formes sont du texte ; leur apparence ne suffit pas à dire qu’il s’agit de quantités calculables. Une conversion automatique en nombre peut enlever des zéros ou perdre de la précision.
L’option « Déduire nombres et booléens » peut être utile pour un petit jeu de test maîtrisé. Elle transforme certaines représentations en types JSON natifs. Relisez alors décimales, notation scientifique, `true`, `false`, dates et grands entiers. La virgule décimale française n’est pas automatiquement un nombre JavaScript : `12,5` peut rester du texte. Une transformation financière ou métier doit appliquer une règle explicite par colonne.
UTF-8, accents, BOM et données déjà corrompues
Le champ du navigateur manipule du texte Unicode. Des valeurs comme `Élodie`, `cœur`, `Noël` ou un emoji sont conservées si la source a été correctement décodée. Si vous voyez déjà `Français` avant de coller, le problème vient généralement d’une ouverture UTF-8 comme Windows-1252, ou inversement. La conversion vers JSON ne peut pas reconstruire avec certitude les octets d’origine.
Certains exports ajoutent un BOM au début du fichier pour aider Excel à reconnaître UTF-8. Contrôlez que la première clé ne contient pas de caractère invisible. Le JSON téléchargé est créé en UTF-8, mais il ne conserve ni feuille, ni formule, ni couleur, ni format de cellule du classeur. Pour un fichier XLSX, exportez d’abord la feuille voulue en CSV et conservez le classeur comme référence.
Contrôler le JSON avant une API ou une migration
Commencez par une petite tranche représentative : première ligne, dernière ligne, cellule vide, accent, séparateur dans un texte, guillemet, saut de ligne et identifiant avec zéro initial. Comparez le nombre d’objets avec le nombre de lignes attendu. Vérifiez également la casse de chaque clé et le type des valeurs. Un JSON valide peut encore être refusé pour propriété manquante, date mal formée ou valeur hors liste.
N’envoyez pas directement des milliers d’objets en production. Testez le schéma, les règles d’unicité et les erreurs avec des données fictives ou un environnement de recette. Gardez un lien entre numéro de ligne source et réponse de l’API. FunnyTools ne contacte aucun endpoint et ne valide pas les droits d’accès, les contraintes de base de données, les enums ni les relations entre enregistrements.
Traitement local, confidentialité et limites
Le CSV est analysé en mémoire dans cet onglet ; FunnyTools ne reçoit ni le tableau ni le JSON. Cela évite un téléversement vers le serveur du site, mais ne neutralise pas le presse-papiers, les extensions, la synchronisation du navigateur ou les règles de votre poste. Utilisez des données anonymisées pour une démonstration et respectez les procédures internes pour toute donnée personnelle ou réglementée.
La page ne propose pas de traitement en flux ni de promesse de taille maximale. Un fichier très volumineux peut saturer la mémoire, surtout sur mobile. Pour plusieurs millions de lignes, utilisez un pipeline contrôlé avec journal d’erreurs et validation de schéma. Cet outil convient à l’inspection, aux fixtures et aux petits lots ; il ne remplace pas un processus ETL audité.
Mode d’emploi étape par étape
- Exportez ou copiez une table dont les en-têtes sont uniques.
- Collez une copie sans secret et choisissez le séparateur réel.
- Laissez les types en texte si des identifiants ou zéros initiaux doivent être préservés.
- Comparez lignes, colonnes, accents, guillemets et valeurs particulières.
- Validez le JSON contre le schéma du système cible avant import.
Dans quelles situations cet outil est utile
- Transformer un export Excel français au point-virgule en objets JSON.
- Préparer une fixture d’API avec des codes postaux conservés comme chaînes.
- Convertir un TSV copié depuis un tableur.
- Vérifier une description contenant virgule et retour à la ligne.
- Comparer le total des lignes avant une petite migration.
Exemples détaillés
Export Excel avec virgule décimale
Le fichier utilise `produit;prix` et contient `12,50`. Le point-virgule est imposé, puis le prix reste du texte jusqu’à l’application d’une règle décimale documentée.
Référence commençant par zéro
La valeur `00128` identifie une agence. La déduction des types reste désactivée afin d’obtenir `"00128"` et non `128`.
Commentaire sur plusieurs lignes
Une cellule citée contient deux paragraphes. Le parseur la conserve dans une seule propriété et le comptage confirme qu’aucun faux enregistrement n’a été créé.
Relecture éditoriale et test de fonctionnement:
Vérifier une conversion CSV vers JSON
Une sortie syntaxiquement correcte peut encore masquer un mauvais séparateur, une clé inattendue ou un type contraire au métier.
Compter la table
Comparez lignes et colonnes avec la source et confirmez le séparateur affiché.
Préserver les codes
Gardez les types en texte pour les références, téléphones et zéros initiaux.
Tester le contrat
Validez propriétés, types et champs obligatoires contre le vrai schéma.
Points à contrôler
- Les en-têtes sont uniques et respectent la casse attendue.
- Une cellule avec séparateur, guillemet ou retour à la ligne reste intacte.
- Accents, emoji et zéros initiaux sont préservés.
- Le nombre d’objets correspond aux lignes à importer.
Limites et vérifications importantes
- La première ligne devient les clés des objets.
- La détection couvre virgule, point-virgule, tabulation et barre verticale.
- Les types restent du texte par défaut.
- Les structures imbriquées ne sont pas inventées.
- Validez toujours le schéma et le nombre de lignes.
Questions fréquentes
Le convertisseur accepte-t-il un CSV au point-virgule ?
Oui. Choisissez le point-virgule ou laissez la détection automatique, puis vérifiez le séparateur et le nombre de colonnes dans le résumé.
Les champs contenant une virgule sont-ils préservés ?
Oui, s’ils sont correctement entourés de guillemets doubles dans un fichier dont le séparateur est la virgule.
Pourquoi `0012` devient-il parfois `12` ?
Cela peut arriver lorsque la déduction des types est activée. Laissez-la désactivée pour les codes, téléphones et identifiants.
Puis-je coller directement un fichier XLSX ?
Non. Exportez la feuille en CSV ou copiez une plage tabulaire, puis contrôlez le séparateur et l’encodage.
Les clés avec un point créent-elles un objet imbriqué ?
Non. Elles restent littérales. Une structure imbriquée nécessite une règle de transformation explicite.
Le CSV est-il envoyé à un serveur ?
Non. Le parseur travaille dans cet onglet. Les règles de sécurité de votre appareil restent toutefois applicables.
Confidentialité et traitement local
Le CSV est analysé dans cet onglet et n’est pas envoyé à FunnyTools. Évitez les données sensibles sur un appareil non autorisé.
Utiliser le résultat avec discernement
Contrôlez en-têtes, lignes, types, encodage et schéma avant tout import. Le convertisseur ne connaît pas les règles du système cible.
Dernière relecture éditoriale: