Convertisseur CSV en JSON
Introduction
Le Convertisseur CSV en JSON fait le pont entre les données de type tableur et le JSON structuré. Que vous importiez des données d'Excel vers une application web, que vous prépariez des charges utiles d'API à partir d'exportations de base de données ou que vous transformiez des fichiers de configuration, cet outil effectue la conversion avec précision et flexibilité.
Contrairement aux outils en ligne de commande nécessitant une installation ou aux services en ligne qui téléchargent vos données sur un serveur, le Convertisseur CSV en JSON de Toollect fonctionne entièrement dans votre navigateur. Chaque frappe de touche met à jour la sortie JSON en temps réel, vous donnant un retour immédiat. Sans transmission de données sur le réseau, il offre à la fois rapidité et confidentialité.
Avec la détection intelligente des délimiteurs, l'inférence de types, plusieurs formats de sortie et un tableau d'aperçu en direct, ce convertisseur gère les cas limites qui rendent la conversion CSV frustrante : champs entre guillemets contenant des virgules, valeurs multilignes, nombres de colonnes incohérents, etc.
Cas d'usage
Le motif de conversion CSV en JSON apparaît dans de nombreux flux de travail réels. Comprendre ces scénarios vous aide à reconnaître quand cet outil correspond à vos besoins.
Export de base de données vers intégration API
La plupart des systèmes de base de données peuvent exporter les résultats de requêtes au format CSV. Lorsque vous devez alimenter une API REST ou un frontend JavaScript avec ces données, la conversion en JSON est le pont naturel. Exportez une liste d'utilisateurs, de produits ou de commandes depuis MySQL ou PostgreSQL au format CSV, convertissez en JSON, et la structure est immédiatement compatible avec les frameworks web.
Excel et Google Sheets vers application web
Les données de tableur doivent souvent être transférées vers des applications web qui consomment du JSON. Exportez votre feuille au format CSV, convertissez en JSON, et les en-têtes de colonne deviennent des noms de propriété prêts pour JavaScript, TypeScript ou tout framework moderne. C'est courant lors de la migration d'une gestion manuelle dans des tableurs vers un logiciel dédié.
Données de configuration et de migration
Les configurations système, les correspondances de variables d'environnement et les données de migration sont fréquemment stockées ou échangées au format CSV. La conversion en JSON permet la validation, la transformation et l'intégration avec des outils d'infrastructure en tant que code et des systèmes de gestion de configuration.
Pipelines ETL et traitement de données
Les pipelines d'Extraction-Transformation-Chargement commencent souvent avec des fichiers CSV provenant de sources externes. Convertir en JSON à un stade précoce permet un traitement structuré, une validation de schéma et une intégration aval avec des outils et bases de données natifs JSON.
Confidentialité des données
Le Convertisseur CSV en JSON de Toollect traite chaque octet de données localement dans votre navigateur. Aucun contenu CSV n'est transmis à un serveur, stocké dans une base de données ou enregistré dans un système.
Toutes les lectures de fichiers s'effectuent via l'API FileReader du navigateur, qui charge le fichier dans la mémoire de votre appareil. La sortie JSON générée reste dans votre navigateur jusqu'à ce que vous la copiiez explicitement dans votre presse-papiers ou la téléchargiez sous forme de fichier. Il n'y a pas de requêtes réseau en arrière-plan, pas de scripts d'analyse sur la page de l'outil, et aucun cookie ou stockage local utilisé par le convertisseur.
Cette architecture zéro transmission rend l'outil adapté aux données sensibles, aux documents commerciaux internes et à tout scénario où la résidence des données ou la conformité en matière de confidentialité est importante.
Comment ça fonctionne
Le Convertisseur traite vos données CSV via un pipeline multi-étapes conçu pour la précision et la flexibilité.
Analyse syntaxique
L'outil lit votre entrée CSV ligne par ligne à l'aide d'un analyseur personnalisé qui suit les conventions RFC 4180. Il gère correctement :
- Champs entre guillemets : Les champs entourés de guillemets doubles peuvent contenir des délimiteurs, des sauts de ligne et d'autres caractères spéciaux
- Guillemets échappés : Les guillemets doubles dans un champ sont représentés par deux guillemets doubles consécutifs (
"") - Champs vides : Les délimiteurs consécutifs produisent des chaînes vides
- Espaces blancs en fin de ligne : Les espaces en dehors des guillemets sont supprimés pour une sortie propre
Détection du délimiteur
En mode automatique, l'outil analyse les premières lignes de vos données, teste chaque délimiteur candidat (virgule, tabulation, point-virgule) et sélectionne celui qui produit le nombre de colonnes le plus cohérent. Vous pouvez toujours remplacer manuellement le délimiteur détecté.
Inférence de types
Avec l'inférence de types activée, l'outil analyse chaque valeur et convertit les motifs reconnus :
- Nombres : Les entiers et décimaux (
42,3.14,-1.5,1e10) deviennent des nombres JSON - Booléens :
trueetfalse(insensibles à la casse) deviennent des booléens JSON - Nul :
null(insensible à la casse) devientnullen JSON - Chaînes : Tout le reste reste une chaîne de caractères
Vous pouvez également activer l'analyse des valeurs JSON, qui tente d'analyser les champs ressemblant à des objets ou tableaux JSON.
Formatage de la sortie
La sortie JSON finale est générée selon les options sélectionnées :
- Tableau d'objets : Chaque ligne devient un objet avec les valeurs de la ligne d'en-tête comme clés (par défaut)
- Tableau 2D : Sortie sous forme de tableau de tableaux, ignorant la ligne d'en-tête
- Indexé par première colonne : Un objet où la valeur de la première colonne de chaque ligne de données devient la clé
La sortie peut être formatée (avec une indentation de 2 ou 4 espaces) ou minifiée sur une seule ligne.
Référence du format d'entrée
Comprendre les règles de formatage CSV vous aide à préparer des données qui se convertissent proprement sans surprises.
Options de délimiteur
| Délimiteur | Symbole | Auto-détecté | Utilisation typique |
|---|---|---|---|
| Virgule | , |
Oui | Export CSV standard |
| Tabulation | \t |
Oui | Fichiers TSV, presse-papiers de tableur |
| Point-virgule | ; |
Oui | Paramètre régional CSV européen (Excel) |
| Personnalisé | Tout caractère | Non | Pipe (` |
Règles de guillemets
Le CSV utilise des guillemets doubles pour encadrer les champs contenant des caractères spéciaux :
- Un champ contenant le délimiteur doit être entre guillemets :
"Martin, Jean" - Un champ contenant un saut de ligne doit être entre guillemets :
"Ligne 1\nLigne 2" - Un champ contenant un guillemet double l'échappe en le doublant :
"""Texte cité"""devient"Texte cité" - Les champs non entre guillemets sont débarrassés des espaces environnants
Ligne d'en-tête
La première ligne est traitée comme en-tête par défaut. Chaque valeur d'en-tête devient une clé de propriété JSON. Les en-têtes sont nettoyés et non vides. Les noms d'en-tête en double sont dédupliqués avec un suffixe numérique (ex., nom, nom_2).
Encodage
L'outil attend une entrée encodée en UTF-8. Les fichiers enregistrés avec un BOM UTF-8 (marque d'ordre des octets) sont traités de manière transparente — le BOM est supprimé lors de l'analyse. D'autres encodages (Latin-1, Windows-1252) peuvent produire des caractères illisibles ; ré-encodez en UTF-8 avant la conversion.
Galerie des cas limites CSV
Les données CSV réelles correspondent rarement aux exemples théoriques. Voici comment le convertisseur gère les cas limites les plus courants.
Virgules dans les champs entre guillemets
Nom,Description,Prix
Widget Pro,"Livré avec câble, manuel et étui",29.99
La virgule à l'intérieur de la description entre guillemets est correctement traitée comme faisant partie de la valeur, pas comme un délimiteur de colonne. La sortie JSON conserve la chaîne complète intacte.
Valeurs multilignes
ID,Notes
001,"Ce produit nécessite
un assemblage par deux personnes.
Outils non inclus."
Les valeurs contenant des sauts de ligne entre guillemets sont analysées comme un seul champ s'étendant sur plusieurs lignes. La sortie JSON conserve les sauts de ligne sous forme de séquences d'échappement \n.
Nombre de colonnes incohérent
Nom,Email,Téléphone
Alice,[email protected],555-0100
Bob,[email protected]
Charlie,[email protected],555-0200,extra
Les lignes avec moins de colonnes produisent des chaînes vides pour les champs manquants. Les lignes avec des colonnes supplémentaires produisent des clés indexées supplémentaires. Un avertissement s'affiche lorsqu'une incohérence du nombre de colonnes est détectée.
Zéros non significatifs
Code Postal,Ville
00123,New York
02134,Boston
Avec l'inférence de types activée, 00123 devient le nombre 123 (perdant les zéros non significatifs). Désactivez l'inférence de types pour conserver la chaîne originale "00123" — essentiel pour les codes postaux, numéros de téléphone et identifiants de produit.
Caractères BOM
Les fichiers exportés depuis Excel pour Windows incluent souvent un BOM UTF-8 (\uFEFF) comme premiers octets. Le convertisseur supprime le BOM automatiquement, donc la première valeur d'en-tête est propre. Aucune action n'est requise de votre part.
Lignes vides
Nom,Valeur
Alpha,1
Beta,2
Les lignes vides et les lignes ne contenant que des espaces sont ignorées. Elles ne produisent pas d'entrées JSON et ne génèrent pas d'erreurs.
Utilisation
Utiliser le Convertisseur CSV en JSON de Toollect ne nécessite aucune configuration ni inscription. Suivez ces étapes :
-
Ouvrir l'outil — Accédez à la page du Convertisseur CSV en JSON. L'interface affiche une zone de téléchargement, une zone de texte de saisie, un panneau de configuration et une zone de sortie.
-
Saisir vos données — Collez le texte CSV directement dans la zone de texte, ou cliquez sur la zone de téléchargement (ou glissez-déposez un fichier .csv) pour charger un fichier.
-
Vérifier les paramètres — L'outil détecte automatiquement le délimiteur et active les en-têtes et l'inférence de types par défaut. Ajustez ces paramètres en fonction de vos données :
- Sélectionnez un délimiteur différent si l'auto-détection est incorrecte
- Activez ou désactivez "Première ligne comme en-têtes" si vos données n'ont pas de ligne d'en-tête
- Désactivez l'inférence de types pour conserver toutes les valeurs sous forme de chaînes
-
Aperçu des données analysées — Cliquez sur "Afficher l'aperçu" pour voir une vue tabulaire de vos données CSV analysées. Cela permet de vérifier que le délimiteur et les paramètres d'en-tête sont corrects.
-
Vérifier la sortie JSON — La sortie JSON se met à jour automatiquement au fur et à mesure que vous tapez. La zone de texte de sortie est en lecture seule pour éviter les modifications accidentelles.
-
Copier ou télécharger — Cliquez sur "Copier" pour copier le JSON dans votre presse-papiers, ou sur "Télécharger JSON" pour le sauvegarder en tant que fichier .json.
Référence du format de sortie
La même entrée CSV peut produire trois structures JSON différentes. Chaque format correspond à un modèle de consommation distinct.
Exemple d'entrée :
Produit,Prix,En Stock
Widget,29.99,true
Gadget,49.95,false
Tableau d'objets
Chaque ligne de données devient un objet avec les valeurs d'en-tête comme clés. C'est le format par défaut et le plus couramment utilisé. Il se mappe directement sur les tableaux JavaScript et la plupart des charges utiles d'API REST.
[
{
"Produit": "Widget",
"Prix": 29.99,
"En Stock": true
},
{
"Produit": "Gadget",
"Prix": 49.95,
"En Stock": false
}
]
Tableau 2D
La sortie est un tableau de tableaux. La ligne d'en-tête est exclue sauf si vous désactivez explicitement les en-têtes. Utile pour les données matricielles et les composants Grid/DataTable.
[
["Produit", "Prix", "En Stock"],
["Widget", 29.99, true],
["Gadget", 49.95, false]
]
Indexé par première colonne
La valeur de la première colonne devient la clé de l'objet, et les colonnes restantes forment l'objet de valeur. Utile pour les tables de correspondance et l'accès aux données de type dictionnaire.
{
"Widget": {
"Prix": 29.99,
"En Stock": true
},
"Gadget": {
"Prix": 49.95,
"En Stock": false
}
}
Les valeurs de la première colonne doivent être uniques. Les doublons entraînent l'écrasement des occurrences antérieures par la dernière — un avertissement s'affiche dans ce cas.
Tutoriel
Ce tutoriel vous guide dans la conversion d'un fichier CSV exporté d'Excel en un tableau JSON pour une application web.
Scénario : Vous avez un tableur Excel contenant un inventaire de produits et vous souhaitez l'importer dans une application web qui attend du JSON.
- Exporter depuis Excel — Enregistrez votre tableur en tant que fichier CSV. Vous devriez obtenir quelque chose comme :
Product Name, SKU, Price, In Stock, Category
Widget Pro, WDG-001, 29.99, true, Tools
Gadget X, GDG-002, 49.95, false, Electronics
Super Tool, SUP-003, 99.00, true, Tools
Accessory Pack, ACC-004, 14.99, true, Accessories
-
Ouvrez le Convertisseur CSV en JSON et faites glisser le fichier CSV sur la zone de téléchargement. L'outil charge le fichier, détecte le délimiteur virgule et convertit les données instantanément.
-
Vérifiez l'aperçu — Cliquez sur "Afficher l'aperçu" pour voir la représentation tabulaire. Confirmez que la ligne d'en-tête est correctement analysée.
-
La sortie JSON apparaît comme :
[
{
"Product Name": "Widget Pro",
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
{
"Product Name": "Gadget X",
"SKU": "GDG-002",
"Price": 49.95,
"In Stock": false,
"Category": "Electronics"
},
{
"Product Name": "Super Tool",
"SKU": "SUP-003",
"Price": 99,
"Category": "Tools"
},
{
"Product Name": "Accessory Pack",
"SKU": "ACC-004",
"Price": 14.99,
"In Stock": true,
"Category": "Accessories"
}
]
Remarquez que les valeurs Price sont des nombres (pas des chaînes), les valeurs In Stock sont des booléens, et la valeur "In Stock" manquante pour "Super Tool" est omise.
- Essayez les transformations de clés — Sélectionnez "snake_case" dans le menu déroulant Casse des clés. La sortie devient :
[
{
"product_name": "Widget Pro",
"sku": "WDG-001",
"price": 29.99,
"in_stock": true,
"category": "Tools"
}
]
- Essayez le format indexé — Sélectionnez "Indexé par première colonne" pour obtenir un objet indexé par nom de produit :
{
"Widget Pro": {
"SKU": "WDG-001",
"Price": 29.99,
"In Stock": true,
"Category": "Tools"
},
"Gadget X": { ... }
}
- Téléchargez le résultat — Cliquez sur "Télécharger JSON" pour sauvegarder la sortie en tant que fichier .json prêt pour votre application web.
Conseils d'expert
Maîtrisez ces techniques pour tirer le meilleur parti du Convertisseur CSV en JSON de Toollect :
-
Utilisez d'abord l'aperçu : Vérifiez toujours le tableau d'aperçu avant de vous fier à la sortie JSON. Les colonnes décalées, les mauvais délimiteurs ou les problèmes d'encodage sont immédiatement visibles dans l'aperçu tabulaire
-
Gérez les zéros non significatifs : Les codes postaux, numéros de téléphone et identifiants ont souvent des zéros non significatifs. Désactivez l'inférence de types pour les conserver sous forme de chaînes — sinon
00123devient le nombre123 -
Normalisez les noms de colonnes : Utilisez le paramètre Casse des clés pour transformer les en-têtes incohérents en un format uniforme. Pour l'intégration d'API, camelCase ou snake_case sont généralement préférés
-
Nettoyez d'abord votre CSV : Supprimez les lignes vides en fin de fichier, vérifiez la cohérence du nombre de colonnes et assurez-vous que les champs entre guillemets utilisent des guillemets doubles pour de meilleurs résultats
-
Combinez avec d'autres outils : Convertissez le CSV en JSON ici, puis utilisez le Formateur JSON pour valider et inspecter la structure
-
Raccourcis clavier : Utilisez Tab pour naviguer entre les champs. Appuyez sur Ctrl+A (Cmd+A) pour sélectionner tout le texte dans la zone de sortie pour une copie rapide lorsque le bouton Copier n'est pas disponible
Guide pour les gros fichiers
Le Convertisseur CSV en JSON gère les fichiers jusqu'à 10 Mo via l'interface de téléchargement. Au-delà de cette limite, ou lorsque vous avez besoin de performances optimales, suivez ces directives.
Limites de téléchargement
| Méthode | Limite de taille | Remarques |
|---|---|---|
| Glisser-déposer | 10 Mo | Limite stricte imposée par FileReader |
| Coller dans la zone de texte | Mémoire du navigateur | Dépend de la RAM disponible, rendu plus lent |
| Boîte de dialogue d'ouverture | 10 Mo | Même limite FileReader |
Performances par taille de données
| Lignes | Colonnes | Méthode | Temps estimé |
|---|---|---|---|
| 1 000 | 20 | Quelleconque | Instantané |
| 10 000 | 20 | Quelleconque | < 100 ms |
| 100 000 | 20 | Coller le texte | < 1 seconde |
| 500 000 | 20 | Coller le texte | 2-5 secondes |
Travailler avec des fichiers volumineux
- Fichiers de plus de 10 Mo : collez le contenu directement dans la zone de texte au lieu de télécharger. La zone de texte contourne la limite de taille de FileReader et utilise la mémoire disponible du navigateur
- Pour les fichiers dépassant 100 000 lignes, envisagez de diviser le CSV en morceaux plus petits avant la conversion
- L'aperçu en direct devient plus lent à mesure que le nombre de lignes augmente — désactivez l'aperçu pour les grands ensembles de données en laissant le panneau d'aperçu fermé
- L'inférence de types ajoute une surcharge de traitement. Si vous avez seulement besoin d'une sortie de chaînes, désactivez l'inférence de types pour une conversion plus rapide sur les fichiers volumineux
Considérations sur la mémoire du navigateur
Chaque mégaoctet de CSV consomme environ 2 à 4 Mo de mémoire de travail pendant la conversion (entrée + structure analysée + sortie JSON). Un fichier CSV de 10 Mo peut utiliser 30 à 40 Mo de mémoire du navigateur. Fermez les autres onglets gourmands en mémoire lorsque vous travaillez avec des fichiers volumineux.
Alternatives
Bien que le Convertisseur CSV en JSON de Toollect offre un ensemble complet de fonctionnalités, plusieurs alternatives existent pour différents cas d'utilisation.
| Outil / Méthode | Meilleur pour | Limitations |
|---|---|---|
| Convertisseur CSV en JSON de Toollect | Conversion navigateur, confidentialité, personnalisable | Nécessite un chargement initial de la page |
| PapaParse (bibliothèque JavaScript) | Analyse CSV programmatique dans Node.js ou navigateur | Nécessite de coder, pas d'interface graphique |
| csvkit (ligne de commande) | Traitement et conversion CSV avec Python | Nécessite Python, ligne de commande uniquement |
| Services de conversion en ligne | Conversions rapides ponctuelles | Données téléchargées sur des serveurs, problèmes de confidentialité |
| Excel Power Query | Conversion CSV en JSON dans Excel | Nécessite Excel, limité aux petits ensembles de données |
| jq (ligne de commande) | Traitement de la sortie JSON des conversions CSV | Nécessite une étape CSV vers JSON séparée, ligne de commande uniquement |
Pour la plupart des utilisateurs qui ont besoin d'une conversion CSV en JSON rapide, privée et riche en fonctionnalités sans quitter le navigateur, le convertisseur Toollect offre le meilleur équilibre entre fonctionnalité et commodité.
Dépannage
| Problème | Cause probable | Solution |
|---|---|---|
| Le JSON affiche "[null]" ou des objets vides | Échec de la détection du délimiteur ou mauvais délimiteur sélectionné | Sélectionnez manuellement le bon délimiteur dans le menu déroulant |
| Valeurs de colonne manquantes/décalées | Un champ contient le caractère délimiteur sans guillemets | Entourez les champs contenant des délimiteurs de guillemets doubles dans votre source CSV |
| Les nombres avec zéros non significatifs perdent leurs zéros | L'inférence de types les convertit en valeurs numériques | Désactivez l'inférence de types pour conserver toutes les valeurs sous forme de chaînes |
| Erreur "La ligne X a Y colonnes, Z attendues" | Nombre de colonnes incohérent entre les lignes | Vérifiez les délimiteurs supplémentaires/manquants ; les champs entre guillemets avec sauts de ligne peuvent s'étendre sur plusieurs lignes |
| L'aperçu affiche des caractères illisibles | L'encodage du fichier n'est pas UTF-8 | Réexportez votre CSV en UTF-8 depuis votre tableur |
| Le téléchargement d'un gros fichier échoue | Le fichier dépasse la limite de 10 Mo | Collez les données directement dans la zone de texte au lieu de télécharger |
| La sortie JSON est vide | Le champ de saisie est vide ou ne contient que des espaces | Assurez-vous que vos données CSV sont correctement collées |
| Le bouton Copier ne répond pas | Autorisations du presse-papiers du navigateur | Vérifiez les paramètres du navigateur ; utilisez Ctrl+C (Cmd+C) comme solution de repli |
Spécifications techniques
Benchmarks de performance
| Taille des données | Temps de traitement | Utilisation mémoire |
|---|---|---|
| 1 Ko (10 lignes) | < 1 ms | < 1 Mo |
| 100 Ko (1000 lignes) | < 10 ms | < 5 Mo |
| 1 Mo (10000 lignes) | < 100 ms | < 50 Mo |
Détails techniques
- Analyseur : Analyseur CSV personnalisé compatible RFC 4180 avec gestion complète des guillemets et de l'échappement
- Inférence de types : Détection basée sur des expressions régulières pour les nombres, booléens et valeurs nulles
- Détection du délimiteur : Score heuristique sur les 10 premières lignes, testant la virgule, la tabulation et le point-virgule
- Moteur de sortie :
JSON.stringify()natif avec indentation configurable - Gestion des fichiers : API
FileReaderavec limite de taille de 10 Mo - Presse-papiers :
navigator.clipboard.writeText()avec indicateur de retour de 2 secondes - Téléchargement :
Blob+URL.createObjectURL()pour la génération de fichiers en mémoire
Compatibilité des navigateurs
| Navigateur | Version minimale | Statut |
|---|---|---|
| Google Chrome | 80+ | Support complet |
| Mozilla Firefox | 75+ | Support complet |
| Apple Safari | 13+ | Support complet |
| Microsoft Edge | 80+ | Support complet |
| Samsung Internet | 13+ | Support complet |
| Opera | 67+ | Support complet |
Fonctionnalités
- Conversion instantanée CSV en JSON avec aperçu en direct
- Détection automatique intelligente du délimiteur avec remplacement manuel
- Inférence de types pour les nombres, booléens et valeurs nulles
- Formats de sortie multiples : tableau d'objets, tableau 2D et objets indexés
- Transformation de casse des clés (camelCase, snake_case, lowercase, UPPERCASE, Capitalize)
- Aperçu des données repliable pour vérifier votre CSV avant conversion