Conçu sur une IA avancée exécutée sur votre appareil et l'accélération matérielle, pour des performances professionnelles sans compromis sur la confidentialité.IA sur votre appareil : performant et privé.
Formateur JSON Pretty Print
Formatez ou minifiez du JSON, puis parcourez l'arbre
- Aucun téléversement
- Longs identifiants exacts
- Répare le JSON cassé
- 25 Mo gratuits
Déposez un fichier JSON ici
.json · .jsonc · .ndjson · .jsonl · .txt · jusqu'à 25.0 MB en gratuit
Ou collez du JSON
Formater pour du JSON lisible, Minifier pour la plus petite forme valide.
Appliquée à chaque niveau d'imbrication.
Récursif dans les objets imbriqués. Les tableaux gardent leur ordre.
Garder les deux est la seule option qui ne supprime pas de données.
S'applique quand le fichier contient plus d'un enregistrement de premier niveau.
CRLF pour les fichiers ouverts dans le Bloc-notes de Windows.
Corrige virgules finales, apostrophes, commentaires et littéraux Python, et liste chaque modification.
Gratuit : un fichier jusqu'à 25.0 MB. Pro : jusqu'à 1 fichiers, sans plafond de taille imposé.
Comment formater du JSON
- 1
Collez ou téléversez votre JSON
Déposez un fichier .json, .jsonc, .ndjson, .jsonl ou .txt sur la page, choisissez-en un avec Parcourir, ou ouvrez le panneau de collage. Le JSON minifié, le JSON indenté et JSON Lines fonctionnent tous, et l'outil vous dit lequel il a trouvé.
- 2
Choisissez l'apparence de la sortie
Choisissez Formater ou Minifier, puis une indentation de 2 espaces, 4 espaces ou une tabulation. Triez éventuellement les clés, décidez du sort des clés dupliquées et choisissez des fins de ligne LF ou CRLF. Tout cela est gratuit.
- 3
Lisez le résultat
La vue Texte affiche la sortie formatée avec coloration syntaxique. La vue Arbre permet de replier des branches entières et de copier le chemin JSON de n'importe quelle valeur. La vue Statistiques indique ce que contient le document, y compris ce qu'un autre formateur aurait modifié.
- 4
Réparez-le s'il est cassé
Un JSON invalide reçoit un message, une ligne et une colonne, et la ligne fautive avec un curseur sous le caractère exact. Si le problème est réparable, un bouton Réparer apparaît et détaille ensuite exactement ce qui a changé.
- 5
Téléchargez ou copiez
Téléchargez le fichier formaté ou copiez-le dans le presse-papiers. Tout se passe sur votre appareil : rien n'est téléversé et l'outil continue de fonctionner hors ligne une fois la page chargée.
Ce que propose ce formateur JSON
Ce formateur JSON gratuit transforme du JSON minifié ou illisible en une sortie claire et indentée, et ramène du JSON indenté à sa plus petite forme valide. Collez ou téléversez votre document, choisissez 2 ou 4 espaces ou une tabulation, et lisez le résultat en texte coloré, en arborescence repliable, ou sous forme de statistiques sur ce que le document contient réellement. Si le JSON est invalide vous obtenez une ligne, une colonne et la ligne fautive marquée ; s'il est réparable vous obtenez une réparation qui détaille exactement ce qu'elle a changé. Tout se passe sur votre appareil, sans file d'attente et sans téléversement.
- Pretty print et minification — Transformez du JSON minifié ou désordonné en une forme lisible et indentée — ou retirez à nouveau chaque octet inutile. Les deux sens sont gratuits et s'exécutent dans la même passe.
- Options d'indentation — 2 espaces, 4 espaces ou une tabulation, à chaque niveau d'imbrication. La tabulation convient aux équipes dont le style l'emploie ; le choix change les espaces et rien d'autre.
- Trier les clés, de quatre façons — Désactivé, de A à Z, de Z à A, ou en ordre naturel qui compare les suites de chiffres comme des nombres, si bien qu'item2 passe avant item10. Le tri est récursif dans les objets imbriqués et laisse toujours l'ordre des tableaux intact.
- Vue arborescente avec chemins JSON — Repliez des branches entières pour saisir d'un coup d'œil la forme d'une grosse réponse, et copiez le chemin de n'importe quelle valeur — rows[0].meta.created — directement dans votre éditeur, votre console ou jq.
- Erreurs avec ligne et colonne — Un message précis, la position exacte, et la ligne fautive imprimée avec un curseur dessous. Pas un décalage de caractères dans un document qui peut tenir sur une seule ligne.
- Réparation du JSON cassé — Virgules finales, apostrophes, clés sans guillemets, commentaires, littéraux Python, guillemets typographiques et virgules manquantes. Optionnelle, et elle liste chaque modification au lieu de rendre un fichier corrigé en espérant votre accord.
- JSON Lines et NDJSON — Un fichier d'un enregistrement par ligne est détecté automatiquement et reste du JSON Lines valide, ou peut être enveloppé dans un tableau unique sur demande.
- Coller, téléverser, télécharger, copier — Collez depuis le presse-papiers, déposez un fichier, ou parcourez. Repartez avec le résultat en téléchargement ou directement dans le presse-papiers. Avec Pro, formatez jusqu'à 20 documents et repartez avec un seul ZIP.
Ce que votre JSON conserve
Un formateur n'a le droit de changer que les espaces. Cela paraît évident, et presque tous les formateurs JSON en ligne l'enfreignent — y compris les plus connus — parce qu'ils font tous la même chose en interne : lire votre document en valeurs JavaScript avec JSON.parse, puis les réécrire avec JSON.stringify. Cet aller-retour perd de l'information de cinq façons précises, dont aucune ne produit d'erreur ni ne paraît fausse dans la sortie. Cet outil ne le fait pas. Chaque nombre, chaque chaîne et chaque clé est copié de votre texte d'origine caractère par caractère : la seule chose qui change est l'espace entre eux.
- Les entiers longs survivent — Les nombres JavaScript sont des flottants 64 bits : tout entier supérieur à 9 007 199 254 740 991 perd ses derniers chiffres. 12345678901234567890 revient d'un aller-retour en 12345678901234567000. C'est un snowflake ID, un id d'objet Stripe ou une clé primaire 64 bits qui devient une autre valeur dans un fichier que vous êtes sur le point de committer.
- Les décimales de haute précision survivent — Une coordonnée à dix-huit décimales est arrondie à ce qu'un double peut contenir ; une valeur comme 1e-400 tombe silencieusement à 0. Ici les deux sont copiées telles quelles, écriture comprise : 1.10 reste 1.10 et 1e2 reste 1e2 au lieu d'être réécrits en 1.1 et 100.
- Les clés dupliquées survivent — JSON autorise un objet à nommer deux fois la même clé. Le lire en objet JavaScript n'en garde que la dernière : un formateur qui fait l'aller-retour supprime donc un membre en silence. Ici les deux sont gardées, la vue Statistiques les compte, et le contrôle Clés dupliquées permet de les résoudre à la première ou la dernière exprès plutôt que par accident.
- L'ordre des clés survit — Les objets JavaScript remontent en tête les clés qui ressemblent à des entiers, en ordre numérique. Un objet écrit {"2": ..., "1": ..., "nom": ...} revient avec 1 et 2 déplacés en tête, tri désactivé, sur un outil dont le seul travail était de changer les espaces.
- Les échappements survivent — Une chaîne écrite avec \u00e9 ou une barre oblique échappée est réécrite par l'aller-retour en caractère littéral. C'est sans conséquence pour la plupart des données, et pas sans conséquence quand le fichier est une fixture, une charge signée ou tout ce qui se compare octet par octet.
- Et il vous dit quand cela comptait — La vue Statistiques indique combien de nombres auraient perdu de la précision, combien de clés dupliquées elle a trouvées et combien de clés auraient été réordonnées — de quoi savoir si l'outil utilisé la semaine dernière modifiait discrètement vos données.
Pourquoi formater du JSON ?
Le JSON minifié économise de la bande passante et est quasi illisible. Le formater avec indentation et sauts de ligne rend la structure évidente : vous pouvez déboguer une configuration, inspecter une réponse d'API ou préparer un extrait de documentation sans compter les crochets. L'inverse est tout aussi utile : minifier un document avant expédition retire chaque octet qui n'existait que pour l'œil humain. Trier les clés donne un ordre stable pour que les diffs montrent de vrais changements, et l'arborescence répond à la première question que pose une longue réponse : quelle forme cela a-t-il.
- Lisibilité — Le JSON indenté révèle l'imbrication, les tableaux et les champs manquants d'un coup d'œil. Une réponse de 40 lignes devient lisible au lieu d'être analysée de tête.
- Diffs stables — Les clés triées retirent le bruit de réordonnancement du contrôle de version : une pull request montre les valeurs qui ont changé, pas l'ordre dans lequel elles ont été écrites.
- Charges plus légères — Minifier retire indentation et sauts de ligne d'un document qui n'en a plus besoin. Sur une charge d'API typique, c'est environ 45 pour cent d'économie.
- Comprendre la forme — L'arborescence replie les branches pour qu'une réponse de mille lignes tienne sur un écran, et chaque ligne peut vous donner le chemin de la valeur cherchée.
- Des allers-retours fiables — Comme rien n'est resérialisé via des valeurs JavaScript, formater puis minifier vous ramène à un document qui signifie exactement ce que signifiait l'original.
Lire une erreur JSON
Quand un JSON ne s'analyse pas, l'information utile est où il s'est arrêté et ce qu'il a trouvé là. Cet outil indique une cause précise, la ligne et la colonne, et imprime la ligne fautive avec un curseur sous le caractère exact. Cela compte surtout sur un document minifié, où un décalage de caractères dans une unique ligne de 200 000 caractères ne dit rien du tout. Voici les causes qui apparaissent réellement, à peu près par fréquence.
- Virgule finale — Une virgule avant une accolade ou un crochet fermant. Légale en JavaScript et en JSON5, pas en JSON. Signalée à la virgule, et non par une plainte confuse sur le crochet suivant.
- Apostrophes — 'clé' : 'valeur' est du JavaScript, pas du JSON. Les chaînes JSON sont entre guillemets doubles, toujours. La réparation les convertit en échappant les guillemets doubles internes.
- Clés sans guillemets — {clé: 1} est un littéral d'objet JavaScript. JSON exige que chaque clé soit une chaîne entre guillemets.
- Commentaires — // et /* */ sont courants dans les configurations écrites à la main et ne font pas partie de JSON. Les fichiers qui les utilisent s'appellent souvent .jsonc ; la réparation les supprime.
- NaN, Infinity et littéraux Python — Ni NaN, ni Infinity, ni True, False, None ou undefined n'existent en JSON. Ils arrivent en permanence du print de Python et des consoles JavaScript. La réparation les transforme en null, true et false.
- Sauts de ligne bruts dans les chaînes — Un saut de ligne littéral dans une chaîne est illégal — il doit s'écrire \n. C'est ce qui arrive quand on colle un message multiligne dans un fichier JSON à la main.
- Deux documents dans un fichier — Du contenu après la fin de la première valeur. Très souvent ce n'est pas une erreur mais du JSON Lines, que cet outil détecte et formate au lieu de le rejeter.
Réparer du JSON cassé
La réparation est une case à cocher, pas un comportement par défaut, et c'est délibéré : réparer, c'est décider à propos des données de quelqu'un d'autre. Une virgule manquante peut aller à deux endroits ; une barre oblique inverse isolée peut être supprimée ou échappée. La réparation ne s'exécute donc que si vous la demandez, et quand elle le fait elle signale chaque modification et son nombre, dans la vue Statistiques, à côté du résultat. Elle ne touche jamais l'intérieur d'une chaîne : le document est relu avec une version permissive du même lecteur qui l'a rejeté, et du JSON canonique est réécrit à partir des jetons, si bien qu'une virgule dans une valeur entre guillemets n'est jamais prise pour de la structure.
- Ce qu'elle corrige — Virgules finales, virgules manquantes, deux-points manquants, chaînes entre apostrophes ou guillemets typographiques, clés sans guillemets, commentaires //, /* */ et #, NaN et Infinity, les True, False et None de Python, undefined, nombres hexadécimaux et à plus initial, caractères de contrôle bruts dans les chaînes, chaînes non terminées et crochets non fermés en fin de fichier.
- Ce qu'elle préserve — Tout ce que préserve le chemin strict. Un document réparé conserve ses entiers longs, ses clés dupliquées et son ordre de clés — la réparation corrige la syntaxe et laisse les valeurs tranquilles.
- Le sort d'une barre oblique isolée — Une barre oblique inverse que JSON ne définit pas est échappée plutôt que supprimée. C:\qux devient C:\\qux, qui redonne exactement ce qui était écrit ; la supprimer changerait discrètement un chemin Windows, ce que font la plupart des outils de réparation.
- Ce qu'elle ne fera pas — Elle ne devine pas de contenu. Si un membre a une clé et pas de valeur, il devient null et le dit ; s'il n'y a rien de récupérable dans le fichier, elle le dit, au lieu de rendre un document vide qui échouera ensuite à l'analyse.
JSON Lines et NDJSON
Énormément de fichiers en .json ne sont pas un document JSON. Les journaux d'application, les exports BigQuery et Athena, les dumps Kafka et les fichiers de lot OpenAI sont tous du JSON Lines : une valeur JSON complète par ligne, sans tableau englobant et sans virgules entre les enregistrements. Donnés à un formateur normal, ils produisent une erreur sur du contenu inattendu après le premier enregistrement — techniquement exact et totalement inutile à dire d'un fichier valide dans un format courant.
- Détecté, pas configuré — La forme est déduite en lisant le document, pas en regardant l'extension : beaucoup de fichiers JSON Lines s'appellent .json, et un document indenté est plein de sauts de ligne et tromperait toute devinette fondée sur le comptage des lignes.
- Toujours un enregistrement par ligne — Par défaut chaque enregistrement est réécrit minifié sur sa propre ligne, car un enregistrement indenté sur plusieurs lignes n'est plus du JSON Lines. Le contrôle d'indentation se désactive alors et en explique la raison, au lieu de rester là à faire semblant.
- Ou un tableau — Passez à Tableau unique et les enregistrements sont enveloppés dans un seul tableau JSON, formaté avec votre indentation — généralement ce qu'on veut avant de donner les données à quelque chose qui attend un document unique.
- Tri et réparation s'appliquent toujours — Tous les autres réglages fonctionnent par enregistrement : tri des clés, gestion des doublons, fins de ligne et réparation se comportent pareil que le fichier contienne un enregistrement ou un million.
Les options en un coup d'œil
- Sortie — Formater pour du JSON lisible et indenté ; Minifier pour la plus petite forme valide. Les deux sont gratuites.
- Indentation — 2 espaces, 4 espaces ou une tabulation, à chaque niveau d'imbrication. Inactive tant que Minifier est sélectionné, et tant que les enregistrements JSON Lines restent un par ligne.
- Trier les clés — Désactivé, de A à Z, de Z à A, ou ordre naturel. Récursif dans les objets imbriqués ; les tableaux gardent toujours leur ordre.
- Clés dupliquées — Garder les deux, la première ou la dernière. Garder les deux est la valeur par défaut car c'est la seule option qui ne supprime pas de données.
- JSON Lines — Un enregistrement par ligne, ou tous les enregistrements enveloppés dans un tableau unique. Utile seulement quand l'entrée contient plus d'un enregistrement de premier niveau.
- Fin de ligne — LF pour Unix et pour tout ce qui part en contrôle de version ; CRLF pour les fichiers ouverts dans le Bloc-notes de Windows.
- Saut de ligne final — Termine le fichier par un saut de ligne, ce qu'attendent les outils POSIX et la plupart des linters.
- Réparer le JSON invalide — Désactivé par défaut. Activé, les problèmes de syntaxe courants sont corrigés avant le formatage et chaque modification est listée.
- Nom du fichier de sortie (Pro) — Nommez vous-même le fichier téléchargé. Le nom par défaut vient de l'entrée : c'est un confort, pas une capacité manquante.
Un document de 25 Mo se formate en moins d'une demi-seconde sur un portable actuel, hors du fil principal, donc la page ne se fige jamais.
Questions frequentes
Comment fonctionne le formateur JSON ?
Collez votre JSON ou déposez un fichier, choisissez Formater ou Minifier et une indentation de 2 espaces, 4 espaces ou une tabulation, puis lisez le résultat dans la vue Texte, Arbre ou Statistiques. L'outil ne réécrit que les espaces : il lit votre document comme une structure de positions dans votre texte d'origine et réécrit exactement ces caractères avec de nouveaux sauts de ligne et une nouvelle indentation. Téléchargez ensuite le résultat ou copiez-le.
Mes données JSON sont-elles en sécurité ?
Oui. Tout se fait sur votre appareil, pas sur nos serveurs. Il n'y a ni téléversement, ni aller-retour serveur, ni requête transportant vos données où que ce soit, même pour des identifiants, dossiers clients ou réponses d'API internes. Tout l'outil s'exécute localement, ce qui explique aussi qu'il continue de fonctionner sans réseau une fois la page chargée.
Quelles options d'indentation existe-t-il ?
Vous pouvez formater avec 2 espaces, 4 espaces ou une tabulation, appliqués à chaque niveau d'imbrication. Deux espaces est compact et courant dans les projets web ; quatre améliore la lisibilité des données très imbriquées ; la tabulation convient aux équipes dont le style l'utilise. Le choix n'affecte que les espaces, jamais les données. Minifier supprime toute indentation, et c'est pourquoi le contrôle d'indentation est désactivé pendant que Minifier est sélectionné plutôt que de rester là sans rien faire.
Mes longs identifiants seront-ils modifiés ?
Non, et c'est la principale raison d'utiliser ce formateur plutôt qu'un autre. La plupart des formateurs en ligne lisent le JSON en valeurs JavaScript et les réécrivent, ce qui arrondit tout entier supérieur à 9 007 199 254 740 991 à la valeur la plus proche représentable par un double. Un snowflake ID Discord ou Twitter, un id d'objet Stripe ou une clé de base 64 bits revient comme un nombre différent, en silence. Cet outil copie chaque nombre de votre texte d'origine caractère par caractère : 12345678901234567890 reste 12345678901234567890. La vue Statistiques indique combien de nombres auraient été touchés.
Que deviennent les clés dupliquées et l'ordre des clés ?
Les deux sont conservés par défaut. JSON autorise un objet à nommer deux fois la même clé, et lire le document en objet JavaScript n'en garde que la dernière : la plupart des formateurs suppriment donc des données sans le dire. Ici les deux membres survivent, et la vue Statistiques les compte. L'ordre des clés est conservé aussi, y compris les clés qui ressemblent à des indices de tableau comme "1" et "2" — tout outil passant par JavaScript les remonte discrètement en tête de l'objet, même avec le tri désactivé. Si vous voulez résoudre les doublons, le contrôle Clés dupliquées propose garder la première ou la dernière.
Que fait Trier les clés ?
Trier les clés réordonne les clés de chaque objet, récursivement dans les objets imbriqués, tandis que les tableaux gardent leur ordre. De A à Z est un ordre par points de code, comme la plupart des outils. L'ordre naturel compare les suites de chiffres comme des nombres : item2 passe avant item10 au lieu d'après, ce qui est ce qu'on veut pour des clés comme champ1 à champ12 ou des numéros de version. Le tri produit une sortie déterministe, donc les diffs montrent de vrais changements plutôt que du bruit.
Que se passe-t-il si mon JSON est invalide ?
Vous obtenez un message précis, la ligne et la colonne où l'analyse s'est arrêtée, et la ligne fautive imprimée avec un curseur sous le caractère exact. Les causes courantes sont les virgules finales, les apostrophes, les clés sans guillemets, les commentaires, et les True, False et None de Python. Si l'erreur est réparable automatiquement, un bouton Réparer apparaît ; activer la réparation réécrit le document puis liste chaque modification, pour que vous puissiez juger avant de télécharger.
Gère-t-il JSON Lines ou NDJSON ?
Oui. Un fichier contenant plusieurs enregistrements de premier niveau, un par ligne, est détecté automatiquement — aucun réglage à trouver et aucun besoin de renommer le fichier. Par défaut chaque enregistrement est réécrit minifié sur sa propre ligne, ce qui maintient le fichier en JSON Lines valide. Passez le contrôle JSON Lines à Tableau unique et les enregistrements sont enveloppés dans un seul tableau JSON, formaté avec votre indentation — généralement ce qu'on veut avant de donner les données à quelque chose qui attend un document unique.
Quelle taille de fichier puis-je formater ?
La formule gratuite gère les fichiers jusqu'à 25 Mo, ce qui couvre pratiquement toutes les réponses d'API, fichiers de configuration et exports qu'on apporte à un formateur. Pro supprime le plafond imposé et va jusqu'à ce que votre appareil peut supporter, et ajoute le formatage par lot de 20 fichiers livrés en un seul ZIP. Le formatage s'exécute hors du fil principal, donc la page reste réactive : un document de 25 Mo se formate en bien moins d'une seconde sur un portable actuel.
Est-ce gratuit, et cela fonctionne-t-il sur mobile ?
Toutes les fonctions de formatage sont gratuites : indentation, minification, tri des clés, gestion des doublons, vue arborescente, statistiques, réparation, JSON Lines et choix de fin de ligne. Cela fonctionne dans tout navigateur moderne sur ordinateur, tablette et téléphone, avec glisser-déposer, téléchargement et copie. Pro ajoute l'échelle et la livraison — fichiers plus gros, lots et une archive unique — jamais une réponse différente.
sur 1 289 notes
Notez cet outil
Touchez une étoile — c’est rapide