Aller à l’éditeur JSON
JSON Formatter Viewer

Formateur JSON

input.json

Collez votre JSON ici

ou déposez un fichier .json n’importe où dans cette zone

La sortie formatée apparaîtra ici.

En attente d’une saisie

Ce que fait réellement le formatage

Formater du JSON, c’est une analyse suivie d’une nouvelle sérialisation. Le document est lu comme une valeur, puis réécrit avec un retour à la ligne après chaque virgule et une indentation fixe par niveau d’imbrication. Rien ne change dans le modèle de données — seuls les octets entre les jetons changent.

Cette distinction compte, car deux choses sont normalisées lors de l’aller-retour, et il vaut mieux savoir lesquelles :

  • Les nombres sont réécrits sous leur forme la plus courte. 1.50 devient 1.5, 1e3 devient 1000 et -0 devient 0. La valeur est identique ; l’écriture est canonique.
  • Les échappements inutiles disparaissent. "\u0041" devient "A". Les échappements exigés par JSON — guillemets, barres obliques inverses et caractères de contrôle — sont conservés.
  • Les entiers au-delà de 253−1 perdent en précision. C’est une propriété du type numérique de JavaScript, pas de cet outil. Transportez les grands identifiants sous forme de chaînes.

Choisir la largeur d’indentation

Le sélecteur d’indentation s’applique immédiatement et est mémorisé pour votre prochaine visite. En règle générale :

  • 2 espaces — réponses d’API, tout ce que vous collerez dans une revue de code et tout ce qui doit correspondre à la sortie de JSON.stringify(v, null, 2).
  • 4 espaces — fichiers de configuration édités à la main, peu imbriqués mais aux lignes longues.
  • Tabulation — fichiers versionnés dans un dépôt où chacun préfère une largeur différente.

Le même travail en ligne de commande

jq . input.json formate avec une indentation de 2 espaces, soit la même sortie que cette page avec son réglage par défaut. La version navigateur gagne quand le JSON est dans le presse-papiers plutôt que dans un fichier, quand vous préférez parcourir un arbre plutôt que lire 4 000 lignes, ou quand la charge contient quelque chose que vous préférez ne pas faire passer par un outil que vous n’avez pas audité.

Formater un document qui ne s’analyse pas

Un formateur ne peut pas indenter ce qu’il ne peut pas lire : un document invalide donne donc une erreur au lieu d’une sortie. Le panneau affiche la ligne, la colonne, la ligne source avec un curseur juste sous le caractère fautif et ce que l’analyseur attendait là. Aller à l’erreur place votre curseur sur ce caractère. Si le problème fait partie des presque-JSON courants, Réparer le corrige et formate en une seule étape — voyez le validateur pour le catalogue complet des causes.

Questions fréquentes

Le formatage modifie-t-il mes données ?

Seulement les espaces, sauf si vous appuyez aussi sur Trier les clés. L’ordre des propriétés, l’ordre des tableaux et chaque valeur sont préservés tels que l’analyseur les a lus. Les deux exceptions — nombres et échappements de chaîne — sont expliquées plus haut.

Faut-il indenter avec 2 espaces, 4 espaces ou des tabulations ?

Deux espaces est la valeur par défaut de fait en JSON : c’est ce qu’émettent JSON.stringify(value, null, 2), jq et Prettier. Quatre espaces conviennent aux configurations éditées à la main. Les tabulations laissent chaque lecteur choisir sa largeur et pèsent légèrement moins sur disque.

Puis-je formater du JSON qui n’est pas encore valide ?

Pas directement : le formatage exige une analyse. Appuyez d’abord sur Réparer, qui corrige virgules finales, apostrophes, clés sans guillemets et commentaires, puis formatez le résultat.

Pourquoi mon grand nombre a-t-il changé ?

Les nombres JavaScript sont des doubles IEEE 754 : les entiers au-delà de 2^53−1 perdent en précision dès l’analyse. Si votre charge transporte des identifiants 64 bits ou des décimaux de haute précision, gardez-les sous forme de chaînes dans le JSON. Cela concerne tout outil JSON bâti sur un moteur JavaScript, y compris Node.

Le reste de la boîte à outils

Même moteur, même confidentialité — chaque page tourne entièrement dans votre navigateur.