← Retour à l'outil JSON

JSON vers CSV

Dernière mise à jour : 1 octobre 2026

Transformez un tableau d'objets JSON en tableau CSV. Chaque objet devient une ligne, les clés deviennent les colonnes et les champs sont mis entre guillemets comme l'attend un tableur. Tout se passe dans votre navigateur : les données ne quittent pas la machine.

Dans votre navigateur Aucun envoi Conforme RFC 4180 BOM pour Excel Open source (MIT)

Ce que fait la conversion

Un fichier CSV est un tableau écrit en texte brut : une ligne par enregistrement, un délimiteur entre les cellules et une première ligne qui nomme les colonnes. Le JSON n'a pas cette forme. Le point de rencontre naturel est un tableau d'objets : chaque objet est un enregistrement et ses clés sont les noms des champs. C'est exactement la forme que renvoie une API pour une liste, donc c'est ce que ce convertisseur accepte en premier.

Avec [{"id":1,"name":"Ada"},{"id":2,"name":"Grace"}], la sortie est une ligne d'en-tête id,name puis deux lignes, 1,Ada et 2,Grace. Hormis les règles ci-dessous, rien n'est réordonné ni réécrit.

Quelles formes de JSON deviennent un tableau

Le détail de l'union compte. Si certains enregistrements ont la clé phone et d'autres non, l'en-tête inclut phone et les lignes qui ne l'ont pas laissent la cellule vide : la colonne n'est pas supprimée. La conséquence est directe : un JSON à la structure irrégulière produit un tableau aux colonnes clairsemées.

Les valeurs imbriquées deviennent du texte

Une cellule ne peut contenir que du texte, donc un objet ou un tableau imbriqué dans une valeur est écrit en JSON compact dans sa cellule. {"address":{"city":"London"}} devient la cellule {"city":"London"}. L'information survit, mais n'est plus structurée : ce convertisseur n'aplatit pas address.city en une colonne à point. Si vous voulez des colonnes à points, aplatissez d'abord le JSON ; c'est une décision de modélisation, pas de formatage.

Guillemets, délimiteurs et fins de ligne

La sortie suit la RFC 4180, la règle sur laquelle s'accordent tous les tableurs et bibliothèques CSV :

Le délimiteur est votre choix. La virgule est la valeur par défaut, mais le point-virgule est plus sûr sur les systèmes dont le séparateur décimal est la virgule, car un fichier délimité par des virgules y devient ambigu. La tabulation et la barre verticale conviennent aux données qui contiennent déjà des virgules.

Pour qu'Excel ouvre le fichier correctement

Excel ne lit pas l'UTF-8 aveuglément : devant un .csv sans marque d'ordre des octets, il devine l'encodage et choisit souvent une ancienne page de codes, ce qui transforme les lettres accentuées et le texte CJK en charabia. L'option BOM pour Excel ajoute la marque UTF-8 de trois octets au début du fichier téléchargé pour qu'Excel le décode correctement. Elle ne s'applique qu'au téléchargement, le texte affiché ici reste propre.

Ce que le CSV ne peut pas restituer

Le CSV est un format texte et il perd des informations. Il oublie quelles valeurs étaient des nombres, des booléens ou null, et il aplatit l'imbrication en texte. Un null et une chaîne vide arrivent tous deux comme une cellule vide, et un nombre arrive comme ses chiffres. En revenant au JSON, vous obtenez des chaînes, sauf si vous activez la détection des types sur l'autre page, et même alors un code comme 007 doit rester une chaîne pour conserver ses zéros de tête. Conservez le JSON d'origine quand les types importent ; considérez le CSV comme l'export, pas comme la copie maîtresse.

Questions fréquentes

Quelle forme de JSON peut être convertie en CSV ?

Le CSV est un tableau, donc l'entrée naturelle est un tableau d'objets : chaque objet devient une ligne et ses clés deviennent les colonnes. Un tableau de tableaux est utilisé tel quel comme lignes, un objet seul devient une ligne et un tableau de valeurs simples devient une seule colonne. Tout le reste——un nombre ou une chaîne seuls, ou null——n'est pas un tableau et est refusé.

Que se passe-t-il quand les objets ont des clés différentes ?

L'en-tête est l'union de toutes les clés rencontrées dans le tableau, dans l'ordre de première apparition. Une ligne à laquelle manque l'une de ces clés laisse simplement sa cellule vide. C'est pourquoi un CSV issu d'un JSON à la structure irrégulière peut avoir des colonnes vides sur presque toutes les lignes.

Comment sont traités les objets et tableaux imbriqués ?

Le CSV n'a pas d'imbrication, donc une valeur qui est elle-même un objet ou un tableau est écrite en JSON compact dans sa cellule. L'information survit, mais n'est plus structurée : cette conversion aplatit en convertissant en texte, elle n'éclate pas les clés imbriquées en colonnes à points.

Quand un champ est-il mis entre guillemets ?

Un champ est mis entre guillemets quand il contient le délimiteur, un guillemet double, un saut de ligne, ou des espaces au début ou à la fin. À l'intérieur d'un champ entre guillemets, un guillemet double littéral est écrit deux fois, de sorte que le texte est reproduit exactement. C'est la règle de la RFC 4180, et c'est ce qui permet à une cellule de contenir une virgule ou un saut de ligne.

Pourquoi mon CSV s'affiche-t-il comme des caractères parasites dans Excel ?

Excel devine l'encodage d'un fichier .csv et, sans marque d'ordre des octets, choisit souvent une ancienne page de codes, ce qui abîme le texte non ASCII, comme les lettres accentuées ou les caractères CJK. Cocher l'option BOM ajoute U+FEFF au début du fichier téléchargé pour qu'Excel le lise en UTF-8. Le BOM n'est ajouté qu'au téléchargement, pas au texte affiché ici.

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

Non. Le CSV stocke du texte, donc il oublie quelles valeurs étaient des nombres, des booléens ou null, et il ne peut représenter l'imbrication autrement qu'en texte. En revenant du CSV au JSON, vous obtenez des chaînes, sauf si vous activez la détection des types. Conservez le JSON d'origine si vous devez retrouver les types exactement.

Vous voulez le sens inverse ? CSV vers JSON relit un tableau comme un tableau d'objets. Une erreur ? Écrivez-nous.