Formateur JSON

Formatez ou minifiez du JSON et voyez exactement où une entrée invalide échoue.

Indentation
Entrée
Sortie

La sortie apparaîtra ici

Ce que fait ce formateur JSON

JSON (JavaScript Object Notation) est le format le plus courant pour déplacer des données structurées entre programmes : réponses d’API, fichiers de configuration, lignes de journal, etc. Il est conçu pour être compact, ce qui le rend aussi difficile à lire dès que les objets s’imbriquent sur quelques niveaux ou arrivent sur une seule ligne. Cet outil prend tout JSON que vous collez et le réécrit de deux façons : embelli, avec une indentation cohérente pour que la structure saute aux yeux, ou minifié, débarrassé de chaque espace facultatif pour être aussi petit que possible à l’envoi.

Il valide aussi pendant le formatage. Comme il analyse le texte avant de le re-sérialiser, un JSON invalide ne produit jamais de sortie trompeuse — vous obtenez à la place la ligne et la colonne exactes où l’analyse a échoué, pour aller droit au problème.

Embellir vs. minifier : quand utiliser chacun

Les deux modes ont des objectifs opposés, et la plupart des flux de travail utilisent les deux à différentes étapes :

  • Embellissez quand vous lisez ou déboguez : inspecter une réponse d’API, comparer deux payloads ou relire un fichier de configuration dans une pull request. L’indentation transforme un mur de texte en un arbre navigable.
  • Minifiez quand vous expédiez : intégrer du JSON dans du HTML, le stocker dans un cookie ou un cache, ou l’envoyer dans le corps d’une requête où chaque octet compte. Le JSON minifié, ce sont exactement les mêmes données, sans les espaces.

Le sélecteur d’indentation (2 espaces, 4 espaces ou tabulation) n’affecte que la sortie embellie. Deux espaces est la convention la plus répandue en JavaScript et dans l’outillage web ; quatre espaces ou des tabulations conviennent aux équipes qui les préfèrent. Quel que soit votre choix, le résultat reste du JSON valide — l’indentation est purement cosmétique.

Lire les erreurs de validation

Quand le JSON est invalide, l’outil signale la ligne et la colonne du premier problème plutôt qu’un vague message « invalide ». Les messages d’erreur des moteurs diffèrent d’un navigateur à l’autre et omettent souvent une position, donc l’emplacement est calculé indépendamment et pointe vers un endroit raisonnable pour commencer. Corrigez la première erreur et revérifiez — un seul caractère parasite entraîne souvent plusieurs problèmes apparents.

Erreurs JSON courantes

JSON est plus strict que les littéraux d’objet JavaScript auxquels il ressemble. Voici les erreurs qui piègent le plus :

  • Virgules finales : une virgule après le dernier élément d’un objet ou d’un tableau est valide en JavaScript mais pas en JSON.
  • Guillemets simples : les chaînes et les clés JSON doivent utiliser des guillemets doubles. 'valeur' est invalide ; "valeur" est correct.
  • Clés sans guillemets : chaque clé d’objet doit être une chaîne entre guillemets, donc { name: "x" } doit devenir { "name": "x" }.
  • Commentaires : JSON n’a pas de syntaxe de commentaire. // et /* */ provoqueront une erreur d’analyse.
  • Nombres spéciaux : NaN, Infinity et -Infinity ne sont pas des nombres JSON valides.
  • Mauvais guillemets : les « guillemets typographiques » collés depuis un traitement de texte ressemblent à des guillemets mais sont des caractères différents et ne seront pas analysés.

Questions fréquentes

Mon JSON est-il envoyé à un serveur ?
Non. L’analyse, la validation et le formatage se font tous dans votre navigateur avec JavaScript. Rien de ce que vous collez n’est téléversé, stocké ou journalisé, donc c’est sûr avec des payloads sensibles.
Le formatage modifie-t-il mes données ?
Non. Embellir et minifier ne font qu’ajouter ou retirer des espaces entre les jetons. Les clés, valeurs, nombres et la structure sont identiques — seule la disposition change.
Pourquoi réordonne-t-il ou reformate-t-il mes nombres ?
L’outil analyse le JSON en valeurs réelles puis les re-sérialise, donc les nombres sont normalisés à leur forme canonique (par exemple 1e3 devient 1000). La valeur ne change pas ; seule sa représentation textuelle est standard.
Peut-il gérer de très gros fichiers JSON ?
Il gère de gros payloads, mais comme tout s’exécute dans le navigateur, les fichiers extrêmement volumineux (des dizaines de mégaoctets) peuvent être lents ou atteindre des limites de mémoire selon votre appareil.
Conserve-t-il l’ordre des clés de l’objet ?
Oui. L’ordre des clés est conservé exactement tel qu’il apparaît dans votre entrée — l’outil ne trie pas les clés.
Quelle est la différence entre JSON et un objet JavaScript ?
JSON est un format texte pour l’échange de données ; un objet JavaScript est une valeur en mémoire. JSON est plus strict : il exige des clés et des chaînes entre guillemets doubles, interdit les virgules finales et les commentaires, et n’autorise qu’un ensemble fixe de types de valeur (chaînes, nombres, booléens, null, tableaux et objets).
Puis-je formater du JSON5 ou du JSONC (JSON avec commentaires) ?
Non. Cet outil valide du JSON strict et standard. JSON5 et JSONC ajoutent des commentaires et d’autres commodités qui ne font pas partie de la spécification JSON, ils seront donc signalés comme des erreurs.