JSON ↔ CSV Converter

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.

Quoting follows RFC 4180: a field is wrapped in double quotes when it contains the delimiter, a quote or a newline, and embedded quotes are doubled. Type conversion is off by default so identifiers like 007 keep their leading zeros.

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand JSON ↔ CSV Converter

Ce convertisseur transforme un tableau JSON d'objets en table CSV et relit une table CSV en JSON.

How it works

Chaque objet du tableau devient une ligne et les clés des objets forment la ligne d'en-tête, et c'est pourquoi le JSON doit être un tableau d'objets plats pour qu'une table ait un sens. Les champs sont mis entre guillemets comme le spécifie la RFC 4180 : toute valeur contenant une virgule, un guillemet double ou un saut de ligne est entourée de guillemets doubles, et un guillemet double qu'elle contient est écrit deux fois — She said "hi" devient "She said ""hi""". À la relecture du CSV, cette mise entre guillemets est défaite et chaque champ arrive sous forme de chaîne, parce que le CSV ne porte aucune information de type.

When to use it

  • Faire entrer une réponse d'API dans un tableur, pour quelqu'un qui ne veut pas lire du JSON.
  • Transformer un CSV exporté en données JSON pour des tests ou un script d'amorçage.
  • Aplatir un export de journaux ou d'événements pour pouvoir le trier et le filtrer dans Excel ou Google Sheets.
  • Remettre un échantillon de données à un collègue dans le format que son outil ouvre réellement.

Watch out for

  • Le CSV est plat et le JSON ne l'est pas. Un objet ou un tableau imbriqué dans une ligne n'a pas de cellule où loger : aplatissez donc ces clés avant la conversion plutôt qu'après.
  • Les types se perdent dans les deux sens. Un identifiant à zéro de tête comme 007, un long identifiant numérique et une date reviennent tous sous forme de chaînes — et un tableur peut les reformater dès l'ouverture du fichier.
  • Un champ commençant par =, +, - ou @ est traité comme une formule par Excel et Google Sheets. C'est l'injection CSV, et elle compte dès que les valeurs proviennent d'utilisateurs.
  • Il n'existe pas un seul dialecte CSV. Le point-virgule est le délimiteur normal dans les locales qui utilisent la virgule comme séparateur décimal, et Excel a souvent besoin d'une marque d'ordre des octets UTF-8 pour afficher correctement les caractères accentués.

Frequently Asked Questions

Comment convertir du JSON en CSV ?

Collez un tableau d'objets et choisissez un délimiteur. Chaque clé rencontrée sur l'ensemble des lignes devient une colonne, dans l'ordre de première apparition, si bien qu'une clé n'apparaissant que dans le dernier enregistrement obtient malgré tout une colonne au lieu d'être abandonnée. Les objets imbriqués sont écrits en JSON à l'intérieur de la cellule.

Comment le convertisseur traite-t-il les virgules dans les valeurs ?

Conformément à la RFC 4180, tout champ contenant le délimiteur, un guillemet double ou un saut de ligne est entouré de guillemets doubles, et les guillemets présents dans la valeur sont doublés. C'est le format qu'attendent Excel, Google Sheets et tout lecteur CSV standard.

Pourquoi mes nombres deviennent-ils des chaînes après conversion du CSV en JSON ?

Le CSV n'a pas de types — chaque champ est du texte — si bien que le convertisseur garde les valeurs sous forme de chaînes, sauf si vous activez la conversion de types. Même dans ce cas, les valeurs à zéros de tête restent des chaînes, parce qu'un code postal ou un numéro de compte transformé en nombre est un bug de perte de données.

How to Use JSON ↔ CSV Converter

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.