100 % local — vos données ne quittent jamais votre navigateur

JSON en CSV — ouvrez-le dans un tableur

Transformez un tableau JSON d’objets en tableur. Les clés deviennent la ligne d’en-tête, prêt à ouvrir dans Excel, Numbers ou Google Sheets.

Instantané Privé Zéro cookie
Délimiteur

Entrée JSON

Sortie CSV

Ce que fait cet outil

Un tableau d’objets devient des lignes ; les clés deviennent l’en-tête.

[
  { "nom": "Ada", "naissance": 1815 },
  { "nom": "Alan", "naissance": 1912 }
]
nom,naissance
Ada,1815
Alan,1912

La racine doit être un tableau d’objets : un tableau est une liste d’enregistrements, et un objet seul n’a pas de lignes. Emballez-le dans [ ] si vous vouliez une ligne.

Les longs identifiants gardent leurs chiffres

[{ "id": 12345678901234567890 }]

ressort avec ses vingt chiffres. Les convertisseurs qui analysent d’abord le JSON en valeur JavaScript arrondissent au-delà d’une quinzaine — en silence, et vers un nombre qui ne correspond plus à la ligne dont il vient.

Trois ambiguïtés, nommées

Null et chaîne vide donnent la même cellule. null et "" ne produisent tous deux rien entre les séparateurs, et aucun lecteur ne les distinguera ensuite. Si la différence compte, CSV n’est pas la bonne destination.

Une valeur imbriquée devient du JSON dans la cellule. Une cellule porte une valeur ; votre clé porte un sous-arbre. L’étaler sur des colonnes parent.enfant inventées imposerait une convention que votre consommateur n’a jamais approuvée.

Les enregistrements irréguliers donnent une union. L’en-tête, c’est toutes les clés rencontrées, dans l’ordre d’apparition ; celui auquel il en manque une reçoit une cellule vide. Écarter la colonne, ou la ligne, perdrait des données pour l’amour d’un rectangle bien net.

L’option Excel

Excel ne lit pas de façon fiable un CSV en UTF-8 simple : il devine l’encodage d’après les octets, et devine le plus souvent la page de code héritée de votre système — c’est ainsi que café devient café.

Le réglage Excel écrit deux choses qu’Excel comprend : une marque d’ordre des octets, et une ligne sep=, en tête qui nomme le séparateur. Ni l’une ni l’autre n’est du CSV standard — sep= est même une extension Microsoft que les autres lecteurs afficheront comme une première ligne de données — d’où un réglage que l’on active, et non un défaut.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi Excel affiche-t-il mes accents en charabia ?
Parce qu’Excel devine l’encodage à partir des octets et, sans indice, devine la page de code héritée de votre système plutôt qu’UTF-8. L’option Excel écrit une marque d’ordre des octets et une ligne `sep=`, ce qui lui indique à la fois l’encodage et le séparateur. Ce n’est pas du CSV standard, d’où le réglage plutôt que le défaut.
Un CSV peut-il distinguer null d’une chaîne vide ?
Non, et aucun ne le peut. `{"note": null}` et `{"note": ""}` donnent tous deux une cellule vide, et relire le fichier ne dira pas lequel c’était. Si cette différence compte pour vous, CSV n’est pas la bonne destination — ou ajoutez votre propre convention, un `NULL` littéral par exemple, avant de convertir.
Mes enregistrements n’ont pas tous les mêmes clés. Que se passe-t-il ?
L’en-tête est l’union de toutes les clés rencontrées, dans l’ordre d’apparition, et un enregistrement auquel il en manque une reçoit une cellule vide. Rien n’est écarté pour cause d’irrégularité : un export où seules certaines lignes portent un champ facultatif est normal, pas une erreur.

Convertisseurs associés