TextSorter
Entrée JSON
Sortie CSV

Comment convertir du JSON en CSV en ligne

Le JSON est le format que renvoient la plupart des API, et il se prête naturellement au code : un objet peut contenir un autre objet, un tableau peut contenir des objets, sans que cela pose de problème pour un programme qui parcourt cette structure. Un tableur fonctionne différemment. Excel, Google Sheets et n'importe quel écran d'import CSV attendent une grille plate de lignes et de colonnes, alors dès qu'il faut transmettre des données JSON à quelqu'un qui travaille dans un tableur, quelqu'un doit remodeler ce format. C'est exactement ce que fait cet outil, entièrement dans votre navigateur, le temps de coller le texte et de cliquer sur un bouton.

La forme de l'entrée compte moins qu'on ne le pense. Vous pouvez coller un seul objet JSON, comme la réponse d'un unique appel API, ou un tableau d'objets, comme une liste de lignes de base de données exportée en JSON. Dans les deux cas, le convertisseur normalise ce que vous avez fourni en une liste d'enregistrements, détermine l'ensemble des colonnes nécessaires entre tous ces enregistrements, puis écrit un fichier CSV avec une ligne d'en-tête suivie d'une ligne par enregistrement.

Guide de conversion étape par étape

  1. Collez votre JSON. Déposez un objet unique ou un tableau d'objets dans le champ « Entrée JSON ». Il peut provenir d'une réponse d'API, d'un export de base de données, d'un fichier de configuration ou de n'importe quelle autre source JSON.
  2. Choisissez un délimiteur. La virgule est sélectionnée par défaut et convient à la plupart des tableurs en locale anglophone, mais le menu propose aussi Tabulation, Point-virgule et Barre verticale pour les cas décrits plus bas.
  3. Décidez si vous souhaitez aplatir les objets imbriqués. Laissez « Aplatir les objets imbriqués » coché si votre JSON contient une hiérarchie que vous voulez voir éclatée en colonnes distinctes, comme un objet adresse ou un bloc de métadonnées.
  4. Cliquez sur « Convertir en CSV ». L'outil analyse votre JSON, l'aplatit si demandé, rassemble tous les noms de colonnes uniques présents dans l'ensemble des enregistrements, et écrit le résultat dans le champ Sortie CSV en une fraction de seconde.
  5. Copiez ou téléchargez le résultat. Utilisez le bouton Copier pour récupérer le texte CSV brut, ou « Télécharger le .csv » pour l'enregistrer en fichier que vous pourrez ouvrir directement dans Excel, Google Sheets ou LibreOffice Calc.

Rien de tout cela ne passe par un serveur. L'analyse, l'aplatissement et la mise en forme CSV s'exécutent tous en JavaScript sur votre propre appareil, si bien que la conversion fonctionne de la même façon que votre tableau contienne trois enregistrements ou trente mille, et que rien de ce que vous collez n'est jamais transmis ailleurs pour être traité.

Aplatir le JSON imbriqué : notation pointée et tableaux expliqués

Un tableur est fondamentalement à deux dimensions : des lignes et des colonnes, rien d'imbriqué à l'intérieur d'une cellule. Le JSON n'a pas cette contrainte, un objet peut contenir un autre objet, qui peut contenir un tableau, qui peut contenir d'autres objets, sur autant de niveaux que les données l'exigent. Convertir de l'un vers l'autre implique de prendre une décision pour chaque structure imbriquée de vos données, et cet outil applique un petit ensemble de règles prévisibles pour le faire.

Les objets imbriqués sont aplatis avec une notation pointée. À partir de {"user": {"profile": {"name": "Camille", "verified": true}}}, l'outil descend dans user, puis dans profile, et produit deux colonnes nommées user.profile.name et user.profile.verified. Il récurse sur autant de niveaux qu'il en trouve, si bien qu'une réponse d'API structurée sur quatre ou cinq niveaux finit malgré tout en une ligne plate de colonnes, au lieu d'un bloc de texte JSON illisible coincé dans une seule cellule.

Les tableaux se traitent différemment selon ce qu'ils contiennent. Un tableau de valeurs simples, comme "tags": ["admin", "moderator"], est rassemblé dans une seule cellule sous la forme admin;moderator plutôt que réparti sur plusieurs colonnes, car il n'existe pas de nom de colonne naturel pour « le troisième tag », et la plupart des listes de tags n'ont pas besoin d'être triées ou filtrées colonne par colonne. Un tableau d'objets, en revanche, comme une liste de lignes de commande, est développé avec une notation indexée : items[0].sku, items[0].price, items[1].sku, items[1].price, et ainsi de suite, de sorte qu'aucune donnée d'aucun élément du tableau ne se retrouve écrasée ou fusionnée dans une chaîne illisible.

Les données incohérentes sont traitées de la même façon, aussi désordonnées soient-elles. Avant d'écrire la moindre ligne, l'outil parcourt tous les objets de votre entrée et construit l'ensemble complet des noms de colonnes présents dans tout le jeu de données, pas seulement les clés du premier enregistrement. Si le cinquième enregistrement possède un champ absent des quatre premiers, ce champ obtient malgré tout sa propre colonne, et chaque ligne qui n'a pas de valeur pour cette colonne reçoit simplement une cellule vide plutôt que de décaler le reste du tableau.

Choisir un délimiteur : virgule, point-virgule, tabulation ou barre verticale

« CSV » signifie comma-separated values, valeurs séparées par des virgules, mais la virgule n'est en réalité qu'un choix par défaut, et se tromper de délimiteur est l'une des raisons les plus fréquentes pour lesquelles un fichier converti semble cassé dès qu'on l'ouvre. Cet outil propose quatre délimiteurs, chacun répondant à un besoin réel plutôt qu'existant pour le principe.

Délimiteur Idéal pour Pourquoi
Virgule (,) Excel en locale anglophone, Google Sheets, la plupart des API Le standard CSV universel, ce que la majorité des outils attendent sans configuration particulière
Point-virgule (;) Excel en France, en Belgique et dans la plupart des locales européennes Ces paramètres régionaux utilisent la virgule comme séparateur décimal, Excel y attend donc un point-virgule entre les colonnes
Tabulation (TSV) Données contenant déjà beaucoup de virgules Le caractère de tabulation n'apparaît presque jamais dans un texte réel, la mise entre guillemets devient donc rarement nécessaire
Barre verticale (|) Outils d'import historiques et anciens pipelines de données Certains systèmes ETL plus anciens se sont standardisés sur la barre verticale bien avant que le choix virgule/point-virgule ne devienne un enjeu de locale

La distinction entre virgule et point-virgule perturbe plus de monde que n'importe quel autre réglage de cette page, car elle reste invisible tant que le fichier n'est pas déjà ouvert. En France, le format numérique standard écrit un nombre comme 1 234,56, avec une virgule comme séparateur décimal, et Excel en configuration française part donc du principe qu'une virgule appartient toujours à un nombre, jamais à une frontière de colonne. Si vous ouvrez un CSV délimité par des virgules dans un Excel réglé en français, il arrive fréquemment que tout le contenu s'entasse dans la seule colonne A, sans aucune séparation, parce qu'Excel cherche des points-virgules et considère chaque virgule comme une ponctuation ordinaire à l'intérieur d'une valeur plutôt que comme une limite de colonne. Basculer le délimiteur de cet outil sur point-virgule avant d'envoyer un fichier à un collègue ou un client francophone évite ce problème d'un bout à l'autre, sans qu'il ait à changer quoi que ce soit de son côté.

Guillemets et échappement : virgules, guillemets et retours à la ligne dans un champ

Une fois le délimiteur choisi, le convertisseur doit encore gérer les valeurs qui contiennent ce même caractère, ou un guillemet, ou un véritable saut de ligne, sans casser la structure de la ligne. Une description de produit du type "Disponible en rouge, bleu et vert" contient des virgules qui ne sont pas des séparateurs de colonnes, et un convertisseur naïf qui se contenterait de joindre les champs avec des virgules découperait cette seule description en trois colonnes distinctes et incohérentes.

Cet outil applique la règle standard de mise entre guillemets du CSV : un champ n'est entouré de guillemets doubles que lorsque c'est réellement nécessaire, c'est-à-dire lorsqu'il contient le caractère délimiteur, un guillemet double littéral, ou un saut de ligne. Tout le reste reste en texte simple, non mis entre guillemets, ce qui garde la sortie lisible et évite d'alourdir des valeurs simples comme des noms ou des nombres avec des guillemets inutiles.

Ce point compte surtout pour les données issues de champs de texte libre, avis clients, descriptions de produits ou champs de notes, où virgules, guillemets et sauts de ligne apparaissent constamment et sans prévenir. Bien gérer les guillemets dès le départ fait toute la différence entre un CSV qui s'ouvre proprement et un fichier où la moitié des lignes est décalée d'une colonne à cause d'une seule virgule mal placée.

UTF-8, le BOM et pourquoi les caractères accentués deviennent illisibles dans Excel

Un fichier CSV n'est qu'une suite d'octets ; rien dans le format lui-même ne déclare quel encodage de texte représentent ces octets. Cette ambiguïté ne se voit pas pour du texte en anglais limité aux lettres A à Z, mais elle devient un vrai problème dès qu'un nom, une ville ou une description contient un caractère accentué ou non latin, quelque chose comme François, Müller, Genève ou Chloé. Enregistrés puis relus avec des hypothèses d'encodage différentes, ces caractères ressortent sous forme de séquences illisibles, un peu comme François à la place du texte d'origine.

Une solution courante à ce problème est le BOM UTF-8, un marqueur d'ordre des octets composé de trois octets précis (EF BB BF) placés au tout début du fichier, qui indique à un programme compatible « ce fichier est en UTF-8, lisez-le ainsi » avant même le premier caractère de données réel. Excel sous Windows fait partie des programmes qui recherchent ce marqueur : un CSV en UTF-8 qui commence par ce BOM s'ouvre en général correctement en double-cliquant dessus, tandis que le même fichier sans BOM est souvent lu avec la page de codes locale du système à la place, corrompant silencieusement tout caractère accentué qu'il contient.

Il faut être clair sur ce que fait précisément ce convertisseur : le bouton de téléchargement de cet outil écrit un fichier CSV en UTF-8 simple, sans ajouter de BOM au début. Pour des données entièrement en anglais ou sans accents, cela ne change rien de visible. Pour des données contenant des noms accentués ou des noms de villes non anglophones, cela signifie que double-cliquer sur le fichier téléchargé peut afficher des caractères déformés dans Excel, même si le fichier sous-jacent est correctement encodé. La solution fiable, qui fonctionne indépendamment de cette question de BOM, consiste à éviter de double-cliquer sur le fichier et à passer plutôt par l'assistant d'import Données > Depuis un fichier texte/CSV d'Excel, qui vous permet d'indiquer explicitement « ce fichier est en UTF-8 » avant qu'Excel n'affiche la moindre cellule.

Ouvrir le résultat dans Excel, Google Sheets et LibreOffice Calc

Le même fichier CSV se comporte un peu différemment selon le tableur qui l'ouvre, principalement parce que chacun fait des hypothèses différentes par défaut sur le délimiteur et l'encodage.

Microsoft Excel

Double-cliquer sur un fichier .csv le confie à l'ouverture rapide d'Excel, qui devine le délimiteur à partir de vos paramètres régionaux Windows et devine l'encodage à partir de la page de codes du système plutôt que de vérifier s'il s'agit d'UTF-8. C'est rapide, mais c'est exactement ce chemin qui produit à la fois la confusion virgule/point-virgule et le charabia des caractères accentués décrits plus haut. La méthode la plus fiable reste l'assistant Données > Depuis un fichier texte/CSV, qui affiche un aperçu et permet de fixer l'origine du fichier sur UTF-8 et de confirmer le délimiteur avant que quoi que ce soit ne soit importé.

Google Sheets

Utilisez Fichier > Importer > Importer puis sélectionnez le fichier CSV. Google Sheets détecte nettement mieux qu'Excel en mode double-clic à la fois l'encodage UTF-8 et le délimiteur, si bien qu'un fichier délimité par des points-virgules ou des virgules issu de cet outil s'importe généralement sans réglage manuel, même si la boîte de dialogue d'import permet de forcer le séparateur si la détection automatique se trompe.

LibreOffice Calc

LibreOffice affiche une boîte de dialogue d'import de texte à chaque ouverture d'un fichier .csv, et pas seulement lorsqu'on le demande explicitement comme dans Excel. C'est un peu plus de friction pour un simple coup d'œil rapide, mais cela donne un contrôle manuel complet à chaque fois : un menu de jeu de caractères où choisir directement « Unicode (UTF-8) », et des cases à cocher pour la virgule, le point-virgule, la tabulation et les autres séparateurs, sans aucune ambiguïté sur la façon dont le fichier sera interprété.

Pourquoi ce convertisseur fonctionne entièrement dans votre navigateur

La plupart des outils « convertir JSON en CSV » que l'on trouve en ligne téléversent ce que vous collez vers un serveur, le traitent là-bas, puis renvoient le résultat. Cet aller-retour est invisible en usage normal, mais il signifie que vos données, même brièvement, ont séjourné sur une infrastructure que vous ne contrôlez pas. Pour un petit échantillon de données publiques, ce n'est pas un problème. Pour un export de véritables fiches clients, un dump interne de base de données, ou tout ce qui relève d'un accord de traitement de données, c'est une réelle préoccupation, et c'est exactement le genre de chose qu'une revue de sécurité signalerait immédiatement.

Ce convertisseur ne fait jamais ce trajet. L'analyse du JSON, l'aplatissement des objets imbriqués et la construction du CSV sont du JavaScript ordinaire, livré avec la page et exécuté sur votre appareil dès que vous cliquez sur Convertir. Ouvrez l'onglet réseau de votre navigateur pendant que vous l'utilisez, vous ne verrez aucune requête transporter vos données où que ce soit. Cela a aussi un effet pratique au-delà de la confidentialité : il n'y a ni file d'attente serveur à attendre, ni limite de débit d'API, ni plafond de taille imposé par un serveur, puisque c'est votre propre ordinateur qui fait tout le travail.

Ce que cela signifie pour les équipes qui gèrent des exports sensibles

Si vous convertissez un export de base de données, une liste de fiches utilisateurs, des lignes de contrat, ou tout ce que vous ne voudriez pas voir sortir de votre organisation, un outil purement local retire ce risque de l'équation plutôt que de vous demander de faire confiance à une politique de confidentialité que vous n'avez pas lue. C'est le même raisonnement qui pousse les équipes d'ingénierie à exécuter un formateur ou une transformation de données en local plutôt que de coller des données de production dans un formulaire web quelconque.

Cas d'usage courants de ce convertisseur JSON vers CSV

Déboguer et relire des réponses d'API

Un développeur récupère une réponse JSON d'un point d'accès REST et doit la transmettre dans un format lisible à une personne en test ou en gestion de produit qui travaille dans un tableur plutôt que dans les outils de développement du navigateur. Convertir la réponse ici transforme un mur d'accolades et de crochets en lignes et colonnes que toute l'équipe peut parcourir et filtrer.

Exporter des résultats de requêtes NoSQL

MongoDB, Firestore et les bases de données documentaires similaires renvoient par défaut leurs résultats de requête en JSON. Plutôt que d'écrire un script d'export ponctuel, coller un lot de résultats de requête dans cet outil produit un CSV qui s'ouvre directement dans Excel ou Sheets pour une analyse ponctuelle, un filtrage rapide ou un tableau croisé dynamique.

Préparer des flux produits et des catalogues

Les places de marché en ligne et les plateformes marketing exigent souvent un CSV pour les imports groupés de produits, alors que les données produit elles-mêmes vivent dans un flux ou une API JSON. Convertir un export JSON d'un catalogue produit, y compris des champs imbriqués comme des paliers de prix ou des attributs de variantes, évite de reconstruire un tableur à la main.

Analyse de journaux structurés

Les applications qui émettent des journaux structurés en JSON produisent des données faciles à analyser pour une machine mais fastidieuses à parcourir visuellement. Coller un lot d'entrées de journal dans cet outil et les aplatir en colonnes permet de trier bien plus facilement par horodatage, de filtrer par code de statut, ou de repérer un schéma récurrent parmi des centaines d'entrées.

Migration de données entre systèmes

Passer d'une plateforme à une autre implique souvent que le système source exporte du JSON alors que le système de destination n'accepte que des imports CSV. Convertir l'export ici, vérifier les en-têtes de colonnes produits par l'aplatissement, puis ajuster les noms de champs si nécessaire, se révèle généralement plus rapide que d'écrire un script jetable pour une migration ponctuelle.

Conseils pour une sortie CSV propre et pièges courants

La plupart des sorties CSV qui semblent fausses viennent de l'un de ces cinq points plutôt que d'un bug dans la logique de conversion elle-même : une longueur de tableau incohérente, un nombre qui aurait dû rester du texte, un délimiteur qui ne correspond pas à ce qu'attend le destinataire, ou un problème d'encodage à l'ouverture du fichier. Vérifier le champ Sortie CSV avant de télécharger, en particulier la ligne d'en-tête, reste le moyen le plus rapide de repérer l'un de ces problèmes tôt.

Questions Fréquentes

Comment convertir un fichier JSON en CSV ?
Collez votre JSON, qu'il s'agisse d'un seul objet ou d'un tableau d'objets, dans le champ d'entrée et cliquez sur « Convertir en CSV ». L'outil aplatit les objets imbriqués en colonnes à notation pointée, rassemble toutes les clés uniques présentes dans vos enregistrements, et construit un CSV que vous pouvez copier ou télécharger en bien moins d'une seconde.
Cet outil peut-il traiter du JSON profondément imbriqué ?
Oui, tant que la case « Aplatir les objets imbriqués » reste cochée. Une structure comme {"user":{"address":{"city":"Lyon"}}} devient une colonne nommée user.address.city, et l'outil parcourt autant de niveaux que vos données en contiennent, si bien qu'une réponse d'API imbriquée sur trois ou quatre niveaux s'aplatit aussi proprement qu'une structure simple.
Que se passe-t-il si mes objets JSON n'ont pas tous les mêmes clés ?
Le convertisseur analyse d'abord chaque objet du tableau et construit l'union de toutes les clés rencontrées, pas seulement celles du premier enregistrement. Tout enregistrement auquel il manque une clé donnée reçoit une cellule vide dans cette colonne plutôt qu'une ligne décalée ou cassée, vos colonnes restent donc toujours correctement alignées même avec des enregistrements incohérents.
Mes données JSON restent-elles privées avec cet outil ?
Oui. L'analyse comme la génération du CSV s'exécutent en JavaScript à l'intérieur de votre propre onglet de navigateur, et rien de ce que vous collez n'est jamais envoyé, journalisé ou stocké sur un serveur. Cela rend l'outil adapté à la conversion d'exports de fiches clients, de données CRM ou de tout autre contenu que vous ne voudriez pas voir quitter votre machine.
Pourquoi mon CSV téléchargé semble-t-il faux une fois ouvert dans Excel ?
Excel devine à la fois le délimiteur et l'encodage du texte quand vous double-cliquez sur un fichier .csv, et sur beaucoup de systèmes il devine une virgule comme délimiteur et une page de codes Windows plutôt qu'UTF-8, ce qui peut transformer un nom accentué comme « François » en caractères déformés. Importez plutôt via l'assistant Données > Depuis un fichier texte/CSV d'Excel, où vous pouvez fixer explicitement l'encodage sur UTF-8 et confirmer le délimiteur, et le texte s'affichera correctement.
Faut-il utiliser une virgule ou un point-virgule comme délimiteur ?
Utilisez une virgule si vos données et la personne qui les ouvrira travaillent en locale anglophone, puisque c'est le réglage CSV par défaut presque partout. Utilisez un point-virgule si le fichier est destiné à une copie française, belge ou plus largement européenne d'Excel, car ces paramètres régionaux traitent déjà la virgule comme séparateur décimal, si bien qu'Excel y attend des points-virgules entre les colonnes.
Qu'advient-il d'un tableau d'objets, comme une liste de lignes de commande ?
Quand l'aplatissement est activé, l'outil développe chaque tableau d'objets avec une notation indexée, si bien qu'items[0].price et items[1].price deviennent des colonnes séparées plutôt qu'une seule cellule surchargée. Un tableau simple de chaînes ou de nombres, comme une liste de tags, est au contraire rassemblé dans une seule cellule séparée par des points-virgules, pour éviter une colonne par tag possible.
Existe-t-il une taille maximale de fichier JSON que cet outil peut traiter ?
Il n'y a aucune limite artificielle intégrée à l'outil lui-même, puisque tout se déroule dans la mémoire de votre navigateur plutôt que via une API soumise à un quota. De très grands tableaux, plusieurs dizaines de milliers d'enregistrements, se convertissent en quelques secondes sur un ordinateur portable ordinaire, même si des fichiers extrêmement volumineux restent finalement limités par la mémoire disponible dans votre onglet de navigateur.
Pourquoi certaines cellules de mon CSV sont-elles entourées de guillemets et d'autres pas ?
Un champ n'est entouré de guillemets que lorsque c'est réellement nécessaire, c'est-à-dire quand il contient le caractère délimiteur lui-même, un guillemet littéral, ou un saut de ligne. Une valeur simple comme « Alice » ou « 42 » reste sans guillemets car rien à l'intérieur ne pourrait être confondu avec le séparateur de colonne ou la fin d'une ligne.
Puis-je convertir un seul objet JSON plutôt qu'un tableau ?
Oui. Si vous collez un objet unique plutôt qu'un tableau, l'outil l'enveloppe automatiquement dans un tableau d'un seul élément avant de le traiter, vous obtenez donc un CSV avec une ligne d'en-tête et une ligne de données, avec exactement les mêmes règles d'aplatissement et de mise entre guillemets qu'un tableau à plusieurs enregistrements.

Outils de conversion de données associés

🔒 Confidentialité 100% Locale

L'analyse JSON et la génération du CSV se déroulent <strong>entièrement dans votre navigateur</strong>. Aucune donnée n'est jamais envoyée à un serveur. Votre JSON reste sur votre appareil à tout moment.