Formater et valider du JSON en ligne

Collez un JSON sur une seule ligne : il est indenté et validé, avec la ligne et la colonne de la moindre erreur. Les valeurs ne sont jamais arrondies.

Niveau de protection

Réglages détaillés

Traitement 100 % local, rien n’est envoyé

Comment ça marche ?

Collez votre JSON sur une ligne, ou déposez un fichier : au niveau « Lisible », le document est indenté avec deux espaces, une valeur par ligne. Il est relu sans être interprété : un entier de vingt chiffres n’est pas arrondi, 1.10 reste 1.10, l’ordre des clés est conservé.

Les commentaires (//, /* */) et les virgules finales du JSONC sont acceptés en entrée et retirés en sortie. En cas d’erreur (virgule oubliée, accolade manquante), la ligne et la colonne sont indiquées : l’outil sert donc aussi de validateur.

Exemples

Un JSON sur une ligne : 85 octets deviennent 131 sur 12 lignes

{"nom":"Léa","age":31,"langues":["fr","en"],"adresse":{…}} devient 12 lignes indentées, lisibles d’un coup d’œil : 131 octets au lieu de 85, les espaces et retours à la ligne ajoutés rendant le document plus lourd mais lisible.

Une virgule oubliée repérée : ligne 1, colonne 8

{"a":1 "b":2} n’est pas valide : l’outil indique « Élément inattendu "b" » à la ligne 1, colonne 8, juste après le 1 où la virgule manque.

Questions fréquentes

Comment formater et valider un JSON en ligne ?
Collez le JSON dans la zone de saisie et gardez le niveau « Lisible » : le résultat est indenté. Si le document est invalide, un message précise la ligne et la colonne de l’erreur.
Les nombres et l’ordre des clés sont-ils conservés ?
Oui. Le JSON n’est pas converti en objet puis réécrit : chaque valeur est recopiée telle quelle, donc un grand identifiant ou 1.10 ne sont pas modifiés, et les clés restent dans leur ordre d’origine.
Comment revenir à un JSON sur une seule ligne ?
Choisissez le niveau « Allégé » : les espaces et retours à la ligne sont retirés, ce qui donne un JSON compact, utile pour une requête ou un fichier de configuration.
Mon code est-il envoyé quelque part ?
Non. Le traitement se fait dans votre navigateur, dans un worker : votre code n’est ni envoyé, ni enregistré, et aucune requête n’est faite pendant la réduction. Seuls les moteurs sont téléchargés : esbuild (JavaScript, TypeScript, CSS) est servi par ce site, et l’interpréteur Python (environ 13 Mo, une seule fois) vient de jsDelivr, vérifié par une empreinte SHA-256 avant d’être utilisé.