Formateur et validateur JSON — embellir, minifier, trouver les erreurs

Indentez, minifiez et validez du JSON, avec les erreurs d’analyse localisées par ligne et colonne. Dans votre navigateur, sans envoi.

145 octets
JSON valide · 6 clés · profondeur 2 · 195 octets en sortie
{
  "name": "FreeToolsForWeb",
  "tools": [
    "image converter",
    "word counter",
    "JSON formatter"
  ],
  "settings": {
    "theme": "light",
    "language": "en"
  },
  "active": true
}

Fonctionne entièrement dans votre navigateur. Rien de ce que vous saisissez n’est envoyé ni stocké. Parcourir tous les outils gratuits.

Un problème, ou quelque chose à améliorer ? Nous lisons chaque message et corrigeons vite.

Ce formateur JSON gratuit valide et indente le JSON dans votre navigateur. Collez une réponse d’API, un fichier de configuration ou une ligne de journal, et il est réindenté instantanément ; s’il ne s’analyse pas, l’erreur indique la ligne et la colonne au lieu d’un simple “Unexpected token”. Rien n’est envoyé : vos données de production et vos clés d’API restent sur votre machine.

Il utilise l’analyseur JSON du navigateur lui-même, celui sur lequel s’appuient Node.js, React et tous les environnements d’exécution modernes : « valide » ici signifie donc valide partout. Minifiez pour un corps de requête ou une configuration qui doit rester compacte, triez les clés pour pouvoir comparer deux documents, et consultez le nombre de clés et la profondeur d’imbrication pour vous faire une idée d’une charge utile avant d’écrire du code dessus.

Mode d’emploi

  1. Collez votre JSON dans la zone de saisie. Le résultat se met à jour pendant la saisie.
  2. Choisissez Formater pour une sortie lisible, ou Minifier pour une seule ligne compacte. Choisissez 2 espaces, 4 espaces ou des tabulations selon votre base de code.
  3. Activez Trier les clés pour comparer deux documents JSON : des données identiques produisent alors un texte identique.
  4. Si l’entrée est invalide, lisez la ligne et la colonne dans la ligne d’état rouge et corrigez cet endroit. Les causes les plus fréquentes sont une virgule finale, des guillemets simples ou une clé sans guillemets.
  5. Copiez le résultat ou téléchargez-le en fichier .json.

Questions fréquentes

Pourquoi mon JSON échoue-t-il avec “Unexpected token” ?

Presque toujours pour l’une de ces quatre raisons : une virgule après le dernier élément d’un objet ou d’un tableau, des guillemets simples au lieu de guillemets doubles, une clé sans guillemets comme {name: 1}, ou un commentaire. JSON n’autorise rien de tout cela, même si JavaScript le permet. Cet outil indique la ligne et la colonne, qui désignent généralement directement le caractère fautif.

Mes données sont-elles envoyées quelque part ?

Non. L’analyse et la mise en forme se font dans votre navigateur avec JSON.parse et JSON.stringify. Vous pouvez vous déconnecter d’internet une fois la page chargée et l’outil continue de fonctionner, ce qui en est la preuve la plus simple. Il convient donc aux données contenant des jetons ou des informations clients, même si la prudence habituelle sur ce que vous collez dans un onglet de navigateur reste de mise.

Quelle est la différence entre formater et minifier ?

Formater (embellir) ajoute des retours à la ligne et de l’indentation pour que l’on puisse lire la structure. Minifier supprime tous les caractères inutiles pour que les machines le transfèrent plus vite : un document minifié est généralement 20 à 40 % plus léger. Les données sont identiques dans les deux cas ; seuls les espaces changent.

Prend-il en charge JSON5, JSONC ou les commentaires ?

Non, et c’est voulu. Ce sont des sur-ensembles utilisés par certains fichiers de configuration (paramètres de VS Code, tsconfig) mais refusés par les API et par JSON.parse. Si vous collez du JSONC ici, il échouera au premier commentaire, ce qui est la bonne réponse à la question « mon API va-t-elle l’accepter ? ». Supprimez d’abord les commentaires si vous avez besoin d’une version stricte.

Y a-t-il une limite de taille ?

Seulement ce que votre navigateur peut contenir confortablement dans une zone de texte. Les documents de plusieurs mégaoctets se formatent en bien moins d’une seconde sur un ordinateur portable ; au-delà d’environ 50 Mo, la plupart des navigateurs ralentissent, et un outil en ligne de commande comme jq est un meilleur choix.

Pourquoi trier les clés ?

Deux documents JSON contenant les mêmes données dans un ordre de clés différent sont des textes différents : un outil de comparaison affiche alors toutes les lignes comme modifiées. Trier les clés récursivement rend l’ordre canonique, et les comparaisons ne montrent plus que les vrais changements. C’est aussi ainsi que de nombreux systèmes produisent des hachages stables d’un contenu JSON.

Les règles JSON qui piègent

• Les clés et les chaînes doivent utiliser des guillemets doubles. Les guillemets 'simples' relèvent de JavaScript, pas de JSON.

• Pas de virgule finale. Le dernier élément d’un objet ou d’un tableau est directement suivi de } ou ].

• Aucun commentaire, quel qu’il soit, et pas de valeurs undefined ou NaN ; utilisez null.

• Les nombres ne peuvent pas commencer par un zéro ni finir par un point : 0.5 et 12 sont valides, 05 et 12. ne le sont pas.

• Le niveau supérieur peut être n’importe quelle valeur, y compris une chaîne ou un nombre seul, mais la plupart des API attendent un objet ou un tableau.

Quand minifier, et quand s’en abstenir

Minifiez tout ce qui circule en volume sur le réseau : corps de requête et de réponse d’API, configuration intégrée au HTML, fichiers de données chargés par une page. Gzip élimine déjà l’essentiel du coût des espaces, le gain est donc modeste, mais il est gratuit. Ne minifiez rien de ce qu’une personne doit modifier ou relire : configuration versionnée dans un dépôt, fixtures d’une suite de tests ou exemples de documentation. La lisibilité y vaut bien plus que quelques centaines d’octets.

Outils gratuits similaires

  • Encodeur / décodeur Base64 — Encodez du texte ou des fichiers en Base64, transformez des images en data URI avec extraits CSS et <img>, et décodez du Base64 en fichier avec aperçu. Rien ne quitte votre navigateur.
  • Testeur de regex — Testez une expression régulière sur un texte d’exemple avec surlignage des correspondances en direct, groupes de capture et aperçu du remplacement. Gratuit, dans votre navigateur.
  • Décodeur JWT — Décodez l’en-tête et la charge utile d’un JWT, lisez l’expiration en clair, vérifiez les signatures HS, RS, PS et ES ou signez un nouveau jeton. Rien ne quitte votre navigateur.