Formater du JSON
Transformez une longue ligne de JSON en quelque chose de lisible, ou recompactez-la. Les grands nombres gardent tous leurs chiffres, ce que la plupart des formateurs en ligne ratent sans le dire. Rien n'est conservé.
- Jamais conservé
- Pas de file d'attente, pas d'attente
- Sans inscription, sans filigrane
Le JSON formaté s'affiche ici.
Comment ça marche
Collez votre JSON
Ou déposez un fichier .json. Tout ce que vous collez reste dans cette page — rien n'est conservé.
Choisissez une indentation
Deux espaces, quatre, des tabulations, ou minifié sur une seule ligne. Votre choix est mémorisé pour la prochaine fois.
Copiez ou téléchargez
Copiez le résultat ou enregistrez-le dans un fichier. Si le JSON est cassé, vous obtenez la ligne, la colonne et le caractère en cause.
Ce qui survit à l'aller-retour
Formater, c'est analyser puis réécrire, et les nombres sont la seule partie reprise telle que vous l'avez tapée. Cela va au-delà du cas des grands entiers que compte le bandeau : tout nombre dont l'écriture JavaScript la plus courte diffère de la vôtre est réécrit à partir de sa source, si bien que 1.10 garde son zéro final, 1e5 reste en notation exponentielle et un zéro négatif reste négatif. Seuls les entiers non sûrs sont comptés dans l'avertissement, car ce sont eux pour lesquels l'alternative serait une corruption silencieuse plutôt qu'une écriture simplement réarrangée.
Les chaînes ne sont pas reprises telles quelles. Les séquences d'échappement sont décodées à la lecture du document et réécrites à neuf à l'impression : \u0041 revient sous la forme A et une barre oblique échappée revient sans échappement. La valeur est identique, les octets non. Cela ne compte que dans une seule situation, mais là, cela compte beaucoup : si un outil en aval compare deux fichiers JSON octet par octet, passer l'un d'eux dans un formateur n'est pas une opération neutre.
Deux comportements au niveau des objets méritent d'être connus avant de se fier à un reformatage. Les clés en double sont résolues en silence, la dernière l'emportant, exactement comme le fait l'analyseur du navigateur — un document contenant deux champs "id" se formate sans protester et revient avec un seul, sans que rien ne signale l'existence de l'autre. Et l'ordre des clés n'est celui de votre fichier que pour les clés qui ne sont pas des entiers : un objet contenant "1", "2" et "name" revient avec les clés numériques en premier, dans l'ordre numérique, car c'est ainsi que JavaScript lui-même ordonne les propriétés d'un objet. Les clés ordinaires gardent l'ordre dans lequel vous les avez écrites.
Si vous cherchez autre chose
Si vous avez affaire à un tsconfig.json, à une configuration ESLint ou à un fichier de paramètres VS Code, cette page signalera les commentaires et les virgules finales au lieu de formater autour : c'est la bonne réponse pour un outil JSON, mais ce n'est pas le bon outil pour votre fichier. Ce sont des fichiers JSONC, que votre éditeur sait déjà lire ; en ligne de commande, json5 et dasel les lisent tous deux sans prétendre qu'il s'agit de JSON.
Pour tout ce qui va au-delà de la réindentation, un formateur n'est pas le bon type d'outil. jq fait en une seule expression ce qu'aucune zone de collage ne permet : jq -S . trie les clés de chaque objet pour pouvoir comparer deux réponses, jq 'del(.token)' retire un champ avant de montrer une charge utile à qui que ce soit, et jq -c réduit un tableau d'objets au JSON Lines qu'attend un pipeline. Il lit aussi un fichier plutôt que le presse-papiers, ce qui fait toute la différence dès que le document dépasse ce que vous pouvez sélectionner confortablement.
Questions fréquentes
Mon JSON est-il conservé quelque part ?
Non. Il n'y a aucun appel au serveur, aucune journalisation, et rien n'est conservé. Vous pouvez vous déconnecter d'Internet une fois la page chargée, elle continue de fonctionner. C'est plus important qu'il n'y paraît : ce que l'on colle dans un formateur en ligne, ce sont des réponses d'API, des fichiers de configuration et des messages d'erreur, qui contiennent régulièrement des jetons, des données clients et des noms d'hôtes internes.
Pourquoi cet outil garde-t-il les grands nombres exacts quand les autres formateurs ne le font pas ?
Parce que presque tous les autres les cassent sans prévenir. Un nombre JavaScript est un flottant 64 bits : il ne peut représenter exactement les entiers que jusqu'à 9 007 199 254 740 991. Au-delà — un ID de post Twitter/X, un snowflake Discord, un numéro de compte bancaire, une clé de base de données 64 bits —, il perd ses derniers chiffres dès qu'il passe par `JSON.parse`. Le nombre a toujours l'air plausible, et c'est ce qui le rend dangereux : 7205759403792793600 devient discrètement 7205759403792793000. Cette page garde exactement les chiffres que vous avez collés, et vous indique combien de nombres elle a dû protéger.
Que fait-il d'un fichier cassé ?
Il vous dit où se trouve le problème, pas seulement qu'il y en a un. Vous obtenez le numéro de ligne, la colonne, la ligne elle-même avec un accent circonflexe sous le caractère fautif, et une description en termes simples — « une virgule finale avant } » plutôt que « Unexpected token ». Les virgules finales, les guillemets simples, les clés sans guillemets et les retours à la ligne non échappés dans les chaînes sont les quatre causes de la plupart des JSON cassés, et chacune est nommée précisément.
Gère-t-il le JSON Lines / NDJSON ?
Oui, et il en respecte la forme. Le JSON Lines, c'est une valeur JSON complète par ligne — le format des journaux et des exports de données —, et l'indenter sur plusieurs lignes détruirait justement ce qui le rend utile. Il est détecté automatiquement, chaque ligne est formatée séparément, et la disposition « une valeur par ligne » est conservée.
Peut-il corriger un JSON avec des commentaires ou des virgules finales ?
Il les signalera précisément, mais ne les acceptera pas en silence. Les commentaires et les virgules finales ne sont pas du JSON — c'est du JSON5 ou du JSONC, ce qu'utilisent en réalité les fichiers de configuration comme tsconfig.json. Un formateur qui les accepterait discrètement vous rendrait un fichier que votre parseur refuserait ensuite, ce qui est pire qu'une erreur ici.
Y a-t-il une limite de taille ?
La mémoire disponible, plutôt qu'un plafond que nous imposerions. Les documents de quelques mégaoctets se formatent instantanément ; les très gros sont limités par ce qui peut être gardé en mémoire à la fois, pas par quoi que ce soit de notre côté.
La minification modifie-t-elle mes données ?
Non. La minification retire uniquement les espaces entre les éléments — elle ne réordonne jamais les clés, ne modifie jamais l'écriture des nombres, ne supprime jamais rien. Le résultat s'analyse exactement en la même valeur, simplement plus compacte.
Bon à savoir : Le formatage est exact — le document est analysé puis réécrit, donc tout ce qui s'analyse ressort. JSON strict uniquement : les commentaires, les virgules finales et les clés sans guillemets sont refusés au lieu d'être réparés en silence, car les réparer reviendrait à deviner. Les très gros documents sont gardés deux fois en mémoire pendant le formatage.
Intégrez cet outil à votre site
Gratuit pour tout blog, page de cours ou article d'aide. Collez un seul extrait de code et vos visiteurs pourront l'utiliser directement sur votre page.
Voir aussi : Outils développeur
Validateur JSON
Trouvez l'endroit exact où votre JSON est cassé
Formateur XML
Indentez votre XML pour pouvoir le lire
Décoder du Base64
Retrouvez le texte ou le fichier derrière du Base64
Décodeur JWT
Lisez le contenu d'un jeton, en toute confidentialité
Validateur XML
Trouvez l'endroit exact où votre XML est cassé
Encoder en Base64
Transformez un texte ou un fichier en Base64