100 % local — vos données ne quittent jamais votre navigateur

Formateur JSON — relisez un payload minifié

Indentez du JSON en laissant les nombres tels qu’écrits. Un identifiant de vingt chiffres les garde tous : vous relisez la réponse, pas une copie.

Instantané Privé Zéro cookie
Indentation

Entrée JSON

Sortie JSON

Ce que fait cet outil

Il réindente. Les caractères qui composent chaque valeur restent exactement ceux que vous avez tapés.

{"id":12345678901234567890,"ratio":1.0,"enorme":1e400}
{
  "id": 12345678901234567890,
  "ratio": 1.0,
  "enorme": 1e400
}

La méthode évidente change vos nombres

Passez la même entrée dans l’implémentation évidente — JSON.parse puis JSON.stringify — et les trois valeurs changent :

écritaprès un aller-retour analyse/impression
1234567890123456789012345678901234567000
1.01
1e400null

Un nombre JavaScript est un flottant double précision. Il porte une quinzaine de chiffres, il ne se souvient pas que vous aviez écrit une virgule décimale, et au-delà d’environ 1,8 × 10³⁰⁸ il devient l’infini — que JSON ne sait pas représenter, et qui s’imprime donc null.

Rien de tout cela n’est une curiosité d’arrondi. 12345678901234567890, c’est la forme d’un flocon Twitter, d’un bigint PostgreSQL ou d’une référence de paiement, et un formateur qui le modifie vous rend un fichier qui ne désigne plus la même ligne.

Cet outil lit chaque nombre comme le texte qu’il est, et réécrit ce texte.

Les clés en double sont refusées, pas arbitrées

{ "port": 8080, "host": "example.com", "port": 3000 }

La RFC 8259 dit que les noms d’un objet devraient être uniques — un « devrait », pas un « doit » — et ne dit rien de ce qu’il faut faire sinon. En pratique les analyseurs divergent : la plupart gardent le dernier, certains le premier, d’autres refusent le document.

Choisir à votre place produirait un fichier qui ne dit plus la même chose, sans rien pour le signaler. L’outil s’arrête et donne la position de la seconde clé.

Du JSON strict, et rien d’autre

Ni commentaires, ni virgule finale, ni chaînes entre apostrophes. Cela s’appelle JSON5 et JSONC : des langages différents qui habitent des fichiers nommés .json.

Les accepter reviendrait à produire une sortie que la moitié des analyseurs du monde refuse, c’est-à-dire le contraire de ce à quoi sert un formateur. Le message d’erreur nomme la position du caractère qui a rompu.

Les deux réglages

Indentation — deux espaces par défaut. Zéro produit la forme minifiée.

Trier les clés — alphabétiquement, récursivement, les tableaux gardant leur ordre. Pratique avant de comparer deux fichiers ; laissez-le désactivé quand l’ordre des clés a un sens.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi les autres formateurs changent-ils mes nombres ?
Parce qu’ils analysent vers une valeur JavaScript puis la réimpriment, et qu’un nombre JavaScript est un flottant double précision. `12345678901234567890` devient `12345678901234567000`, `1.0` devient `1`, et `1e400` — au-delà du plus grand double — devient `null`. Celui-ci conserve le texte littéral de chaque nombre : la mise en forme change la disposition, et rien d’autre.
Pourquoi une clé en double est-elle une erreur ?
Parce qu’il n’y a pas de bonne réponse. La RFC 8259 dit que les noms d’un objet *devraient* être uniques et laisse le comportement indéfini quand ils ne le sont pas : certains analyseurs gardent le premier, la plupart le dernier, d’autres refusent. En choisir un en silence produirait un document qui ne dit plus la même chose que celui que vous avez collé. La position de la seconde clé est dans le message.
Peut-il lire du JSON avec commentaires ou virgule finale ?
Non. Cela relève de JSON5 et de JSONC, des langages différents qui portent le même nom sur le fichier. Les accepter ici reviendrait à produire une sortie que la moitié des analyseurs du monde refuse. L’erreur donne la position du caractère fautif.

Convertisseurs associés