CodeKitHub
Outils JSON

Formateur et validateur JSON en ligne

Dernière mise à jour:

Collez votre code JSON ci-dessous pour le mettre en forme, l'harmoniser ou le minifier instantanément. L'outil valide votre code JSON au fur et à mesure de la mise en forme et affiche l'erreur exacte en cas de problème. Tout s'exécute localement dans votre navigateur : vos données ne sont jamais transmises à un serveur.

Mode d'emploi

  1. Collez votre code JSON dans le champ de saisie situé à gauche (ou cliquez sur « Charger un exemple » pour l'essayer).
  2. Choisissez une indentation de 2 espaces ou de 4 espaces.
  3. Cliquez sur « Formater » pour améliorer la présentation, ou sur « Réduire » pour le compresser en une seule ligne.
  4. Si le fichier JSON n'est pas valide, consultez le message d'erreur affiché sous les champs pour identifier le problème.
  5. Cliquez sur « Copier » pour copier le résultat dans votre presse-papiers.

Exemple

Entrée

{"name":"CodeKitHub","tools":["json","base64"],"free":true}

Résultat

{
  "name": "CodeKitHub",
  "tools": [
    "json",
    "base64"
  ],
  "free": true
}

Les mêmes données, mises en forme avec une indentation de 2 espaces. Minify fait l'inverse : il supprime tous les espaces.

En quoi consiste cet outil ?

Un formateur JSON prend du texte JSON brut, minifié ou mal formaté, et le reformule en respectant une indentation et des sauts de ligne cohérents afin de le rendre plus lisible. Le JSON (JavaScript Object Notation) est le format de données le plus couramment utilisé par les API, les fichiers de configuration et les systèmes de journalisation, mais les serveurs l'envoient généralement sous la forme d'une seule longue ligne illisible afin d'économiser de la bande passante.

Cet outil fait également office de validateur JSON : il analyse vos données à l'aide des mêmes règles strictes que celles utilisées par les navigateurs. Ainsi, si votre fichier JSON comporte une virgule manquante, une clé non mise entre guillemets ou une virgule finale, vous verrez s'afficher le message d'erreur précis au lieu d'un échec silencieux.

Le JSON est formellement défini par deux normes alignées, la RFC 8259 et l'ECMA-404 — et la spécification est délibérément plus stricte que JavaScript lui-même, c'est pourquoi un extrait qui s'exécute parfaitement comme code JS peut tout de même échouer ici à la validation JSON stricte.

Conseils pratiques

  • Vous déboguez une API ? Collez d'abord la réponse brute, puis mettez-la en forme : le validateur identifie précisément la ligne et la colonne de tout problème de syntaxe, ce qui est bien plus pratique que de plisser les yeux pour déchiffrer un bloc de texte d'une seule ligne.
  • Utilisez un retrait de 2 espaces pour la lecture à l'écran et compressez le code avant de coller le JSON dans une URL, une variable d'environnement ou un message de chat — les espaces ne font que prendre de la place dans ces cas-là.
  • Les commentaires au format JSON5 et les virgules de fin sont les deux raisons les plus courantes pour lesquelles une configuration saisie manuellement « semble correcte » mais échoue à la validation : le JSON strict n'autorise ni l'un ni l'autre.
  • Pour les fichiers très volumineux (fichiers journaux, sauvegardes de bases de données), ne mettez en forme que la partie qui vous intéresse : votre éditeur restera réactif et la structure sera plus facile à suivre.

Comment cela s'intègre-t-il dans les flux de travail réels ?

Le flux le plus courant que nous observons : une API renvoie du JSON encodé en Base64 ou minifié au sein d'un jeton ou d'une charge utile de webhook. Commencez par décoder le Base64, formatez ensuite le JSON, puis comparez les deux réponses si un changement est survenu entre les environnements. Chaque étape dispose ici d'un outil dédié, et vos charges utiles ne quittent jamais le navigateur à aucune de ces étapes.

Les développeurs front-end ont tout autant recours à la minification qu’au formatage : vous devez déployer un fichier JSON statique volumineux ? Sa minification permet généralement de gagner 20 à 30 % d’espace avant même que la compression gzip ne commence.

Encodeur / Décodeur Base64 · Différences entre les textes

Cas d'utilisation courants

  • Lire une réponse API minifiée renvoyée sous la forme d'une seule ligne illisible, afin d'en comprendre la structure lors du débogage.
  • Valider un fichier de configuration (comme un fichier `package.json` ou un fichier de paramètres au format JSON) qui, pour une raison inconnue, n'est pas lu correctement par une application.
  • Partager un extrait de code JSON lisible et bien mis en forme dans un rapport de bogue, une révision de code ou de la documentation.
  • Réduire une charge utile JSON à sa forme la plus compacte avant de l'intégrer dans un paramètre d'URL ou de la stocker dans une colonne de base de données soumise à des limites de taille.

Erreurs de syntaxe JSON les plus courantes

La plupart des erreurs JSON reviennent sans cesse. Ce tableau résume celles que l'on rencontre le plus souvent et comment les corriger dès que le validateur pointe la ligne.

ErreurExemple incorrectCorrection
Guillemet simple au lieu de double{'clé': 'valeur'}Utilisez toujours des guillemets doubles : {"clé": "valeur"}
Clé sans guillemets{clé: "valeur"}Toutes les clés doivent être entre guillemets doubles : {"clé": "valeur"}
Virgule finale après le dernier élément[1, 2, 3,]Supprimez la virgule avant la fermeture : [1, 2, 3]
Commentaires dans le JSON{"clé": 1} // noteLe JSON strict n'autorise pas les commentaires ; supprimez-les ou utilisez un fichier .jsonc à part
Valeur `undefined` ou fonction{"clé": undefined}Le JSON n'accepte que null, ni undefined ni les fonctions
Virgule ou deux-points manquant{"a": 1 "b": 2}Ajoutez la virgule entre les paires : {"a": 1, "b": 2}

Pourquoi l'utiliser ?

Une API vous renvoie une erreur 500 sous la forme d'une ligne JSON illisible : collez-la ici et vous verrez exactement quel champ du payload pose problème avant même d'ouvrir votre éditeur.

Un collègue vous envoie un fichier de configuration exporté depuis Postman, tout compressé sur une seule ligne : formatez-le d'abord, et la pull request devient lisible en quelques secondes.

Vous devez coller un objet JSON dans une variable d'environnement Vercel ou un paramètre d'URL : minifiez-le ici pour ne pas gaspiller de caractères ni risquer de dépasser la limite du fournisseur.

Le JSON que vous débuggez contient des jetons d'API ou des données d'un client réel : tout se passe dans votre navigateur, rien ne part sur un serveur juste pour être rendu lisible — un vrai point pour la conformité RGPD.

Un fichier de configuration (ou un `package.json` corrompu) cesse de fonctionner sans message clair : validez-le ici et l'erreur pointe la ligne et la colonne exactes du problème.

Vous relisez un webhook Stripe en pleine astreinte de nuit : pas de compte à créer, ça fonctionne aussi bien depuis un téléphone que depuis un poste de travail.

Foire aux questions

Mes données JSON sont-elles transférées vers un serveur ?

Non. Cet outil fonctionne entièrement dans votre navigateur grâce à JavaScript. Vos fichiers JSON ne quittent jamais votre appareil, ce qui permet de l'utiliser en toute sécurité avec des données sensibles ou internes.

Pourquoi mon JSON n'est-il pas valide ?

Les causes les plus courantes sont les suivantes : virgules manquantes ou superflues, clés sans guillemets doubles, guillemets simples à la place des guillemets doubles, virgules à la fin de la liste et commentaires (le format JSON n'autorise pas les commentaires). Le message d'erreur affiché sous le champ de saisie vous indique ce que l'analyseur a détecté.

Quelle est la différence entre « Formater » et « Réduire » ?

La fonction « Formater » ajoute des indentations et des sauts de ligne pour rendre le JSON lisible par l'utilisateur. La fonction « Réduire » supprime tous les espaces inutiles afin de réduire au maximum la taille du JSON — ce qui s'avère utile avant de le transmettre ou de l'intégrer.

Y a-t-il une limite de taille ?

L'outil n'impose aucune limite stricte. Le traitement des fichiers très volumineux (plusieurs dizaines de mégaoctets) peut être lent selon votre appareil, car l'ensemble du traitement s'effectue localement dans votre navigateur.

Est-ce que cela permet de corriger automatiquement un fichier JSON corrompu ?

Non — l'outil vous indique précisément où se trouve l'erreur dans le fichier JSON afin que vous puissiez la corriger, mais il ne modifie pas vos données et ne tente pas de deviner leur contenu. C'est un choix délibéré : « corriger » les données en silence peut masquer de véritables bogues.

Cet outil accepte-t-il le JSON5 ou le JSONC (JSON avec commentaires) ?

Non. Cet outil valide du JSON strict conforme à la RFC 8259, la même norme que celle utilisée par les navigateurs et les API. JSON5 et JSONC sont des extensions pratiques pour des fichiers de configuration écrits à la main (elles autorisent les commentaires et les virgules finales), mais ce ne sont pas du JSON valide — si votre fichier utilise cette syntaxe, le validateur le signalera comme une erreur, ce qui est justement l'information utile avant d'envoyer ce fichier à une API stricte.

Quelle différence avec un simple `JSON.stringify` dans la console du navigateur ?

Le résultat final est proche, mais ici pas besoin d'ouvrir les outils de développement, d'écrire du code ou d'avoir le fichier déjà chargé dans une page. Vous obtenez aussi un message d'erreur lisible plutôt qu'une exception JavaScript cryptique, et l'outil reste réactif même sur de très gros fichiers sans bloquer un onglet déjà ouvert.

L'outil fonctionne-t-il hors connexion ?

Oui, une fois la page chargée. Toute l'analyse et le formatage se font en JavaScript dans votre navigateur — aucune requête réseau n'est envoyée lors du formatage ou de la minification, vous pouvez donc couper votre connexion et continuer à l'utiliser normalement.

Pourquoi mon JSON, valide en JavaScript, échoue-t-il ici ?

Parce que JavaScript accepte des choses que le JSON strict interdit : guillemets simples, clés sans guillemets, virgules finales, `undefined`, commentaires et fonctions. Un objet littéral qui fonctionne très bien comme code JS peut donc échouer à la validation JSON — ce n'est pas un bug de l'outil, c'est la vraie différence entre les deux formats.

Outils associés