Convertisseur JSON vers CSV
Convertissez instantanément vos JSON en CSV. Téléversez des tableaux JSON ou des objets, choisissez le séparateur et téléchargez un CSV, sans envoyer vos données sur un serveur.
À propos du convertisseur JSON vers CSV
JSON to CSV Converter transforme gratuitement vos données JSON (JavaScript Object Notation) en CSV (Comma-Separated Values). Téléversez un fichier ou collez vos données, choisissez votre séparateur puis téléchargez le CSV généré, sans sortir du navigateur.
Ce convertisseur suit-il la RFC 4180 ?
Oui, pour l'échappement. Tout champ contenant le séparateur, un guillemet double ou un saut de ligne (LF, CR ou CRLF) est entouré de guillemets doubles, et chaque guillemet double littéral à l'intérieur du champ est doublé. Par exemple, la chaîne Elle a dit « va, maintenant » est encodée comme "Elle a dit ""va, maintenant""". Cela produit un fichier qui fait l'aller-retour fidèlement par Excel, Google Sheets, LibreOffice, Pandas read_csv et PostgreSQL COPY. Par défaut les lignes se terminent par un simple LF ; cochez « Fins de ligne Windows (CRLF) » pour émettre des sauts \r\n, qui est la valeur par défaut de la RFC 4180 attendue par certains importateurs Windows anciens.
Pourquoi Excel massacre-t-il les caractères UTF-8 comme é, ñ ou 中, et comment corriger ?
Excel pour Windows ouvre historiquement les fichiers CSV en utilisant la page de codes système par défaut (souvent Windows-1252 dans les locales occidentales) au lieu de l'UTF-8, ce qui corrompt tout caractère non-ASCII. La solution est d'ajouter un BOM UTF-8 (EF BB BF) en tête du fichier pour qu'Excel l'interprète comme de l'UTF-8. Ce convertisseur dispose d'une case « BOM UTF-8 (compatible Excel) », activée par défaut, qui ajoute exactement cette marque au fichier téléchargé — les caractères accentués et CJK s'ouvrent alors correctement dans toutes les versions d'Excel. Si vous préférez un fichier sans BOM, décochez la case ; Excel moderne (365, 2021+) et Excel pour Mac lisent bien l'UTF-8 sans BOM, ou vous pouvez importer via l'assistant « Données → À partir du texte/CSV » et choisir la page de codes 65001 (UTF-8).
Comment gère-t-il les objets et tableaux imbriqués ?
Par défaut « Aplatir les objets imbriqués » est activé, donc {"user":{"name":"Alice","age":30}} devient les colonnes user.name et user.age en notation pointée — la forme la plus utile pour l'analytique. Désactivez l'option et chaque objet imbriqué est écrit comme une seule chaîne JSON dans une cellule, pratique pour faire un aller-retour du document. Les tableaux imbriqués sont toujours sérialisés en une chaîne JSON compacte (par exemple ["red","green"] devient ["red","green"] dans une cellule) plutôt que dépliés en lignes supplémentaires, donc le nombre de lignes reste prévisible. Pour des données profondément hiérarchiques qui ne se projettent pas proprement dans un tableau plat, envisagez de les garder en NDJSON.

Que faire si mes objets JSON ont des clés différentes d'un enregistrement à l'autre ?
Cette hétérogénéité de schéma est la règle, pas l'exception, avec les données d'API réelles. Le convertisseur scanne chaque enregistrement, calcule l'union de toutes les clés et émet une seule ligne d'en-tête contenant chaque clé trouvée ; les cellules où un enregistrement particulier n'avait pas de valeur pour cette colonne restent vides. Le résultat est un CSV creux mais rectangulaire que tout tableur et importateur SQL peut lire, donc aucun champ n'est abandonné silencieusement. Si la moitié de vos enregistrements a réellement une autre forme (disons utilisateurs vs. commandes), divisez l'entrée et convertissez chaque ensemble séparément plutôt que de les fusionner dans un seul tableau large.
Quels séparateurs sont pris en charge et comment sont gérés les tableaux de primitifs ?
Choisissez virgule, point-virgule, tabulation, pipe ou un caractère personnalisé dans la liste des séparateurs — le point-virgule est courant dans les locales européennes où la virgule est séparateur décimal, et la tabulation donne un TSV. Le séparateur que vous choisissez est aussi celui qui est échappé selon la RFC 4180. Un tableau de primitifs de premier niveau comme ["red","green","blue"] est écrit comme un CSV à une seule colonne avec une valeur par ligne, et l'outil le rapporte correctement comme une colonne (il ne confond pas la longueur de la première chaîne avec le nombre de colonnes). Les tableaux de tableaux comme [["a",1],["b",2]] sont écrits un sous-tableau par ligne, la première ligne étant éventuellement traitée comme en-têtes.
Mes données sont-elles envoyées quelque part et quelle est la limite de taille ?
Rien n'est envoyé. L'analyse et la conversion s'exécutent entièrement dans votre navigateur en JavaScript, donc les données sensibles de clients, financières ou d'API ne quittent jamais votre machine. Vous pouvez coller du JSON dans la zone de texte ou déposer un fichier .json/.txt sur la zone de téléversement. Il n'y a pas de plafond strict en octets, mais tout le document est gardé en mémoire, donc les fichiers très volumineux sont limités par la RAM disponible de votre navigateur ; l'aperçu à l'écran est tronqué aux 100 premiers Ko pour les fichiers de plus de 1 Mo, tandis que le contenu complet est toujours écrit dans le fichier téléchargé. Pour des documents de plusieurs gigaoctets, utilisez un outil de streaming en ligne de commande comme Miller, DuckDB ou jq plutôt qu'un navigateur.
