Outils

Formateur et validateur JSON

JSON

Formatez, validez et compressez du JSON. Localisation précise des erreurs (ligne et colonne) avec coloration syntaxique.

100 % côté client Sans backend

Les URL distantes ne sont pas récupérées ; collez votre JSON directement.

Entrée
Sortie
Collez du JSON à gauche pour le voir formaté ici.
Sur cette page

Qu’est-ce qu’un formateur JSON ?#

Un formateur JSON prend une longue chaîne JSON compacte — celle qu’un serveur journalise sur une seule ligne, ou qu’un bundler émet minifiée — et la réécrit avec une indentation cohérente pour qu’un humain puisse la lire. Cela semble anodin, mais le formateur est généralement le premier outil que vous saisissez quand une requête échoue, qu’un fichier de configuration contient une faute de frappe, ou que deux charges utiles se ressemblent mais se comportent différemment.

Cette page effectue trois tâches complémentaires au même endroit. Elle met en forme (ajoute indentation et sauts de ligne), elle valide (indique si le texte est du JSON légal ou non), et elle compresse (supprime chaque octet d’espacement pour obtenir la charge utile la plus petite possible). Quand la validation échoue, la barre d’état ne se contente pas d’afficher « erreur » : elle signale la ligne et la colonne exactes, ce qui fait souvent la différence entre une correction en cinq secondes et vingt minutes à scruter l’écran.

Mode d’emploi#

  1. Collez votre JSON dans le panneau Entrée à gauche. Vous pouvez aussi cliquer sur Exemple pour charger un petit jeu de données si vous souhaitez simplement observer le comportement.
  2. Choisissez un style d’Indentation dans la barre d’outils : 2 espaces, 4 espaces ou tabulation. Deux espaces est la convention la plus répandue ; la tabulation est pratique si vous allez coller le résultat dans un éditeur qui l’utilise déjà.
  3. Choisissez l’action à effectuer :
    • Formater — mise en forme lisible avec l’indentation choisie.
    • Compresser — tout ramener sur une seule ligne, sans aucun espace. Idéal avant de coller dans le corps d’une requête.
    • Valider — vérifier la syntaxe sans modifier le texte ; utile quand vous ne voulez qu’une réponse par oui ou par non.
  4. Cochez Trier les clés si vous souhaitez que les propriétés d’objet soient émises par ordre alphabétique. C’est étonnamment utile pour comparer deux réponses de versions différentes d’une API : avec des clés triées, il ne reste que les différences qui comptent vraiment.
  5. Cochez Virgules finales pour obtenir une variante plus souple et plus lisible (une virgule après le dernier élément). Notez que les analyseurs stricts la rejettent — activez-la uniquement pour une lecture locale.
  6. Lisez le résultat dans le panneau Sortie. La barre d’état située en dessous indique soit JSON valide, soit l’emplacement précis de l’erreur (ligne:colonne — message). Utilisez Copier pour récupérer la sortie.

Principales fonctionnalités#

  • Analyseur natif strict. Construit sur l’implémentation JSON du navigateur lui-même, ce qui passe ici passe à l’exécution. Aucun dialecte personnalisé, aucune surprise.
  • Localisation précise des erreurs. Une virgule finale, une clé sans guillemets, un crochet manquant — chacun est signalé avec sa ligne et sa colonne, et non par une générique « erreur d’analyse ».
  • Trois styles d’indentation. 2 espaces, 4 espaces, tabulations.
  • Tri des clés et virgules finales en option. Basculez entre les deux à chaque opération sans avoir à recoller le texte.
  • 100 % côté client. Le texte que vous collez est traité par la page dans votre navigateur. Il n’est jamais téléversé — il n’y a aucun backend vers lequel le téléverser.
  • Comptage de caractères en direct. Les deux panneaux affichent leur taille, ce qui aide quand vous cherchez à rogner quelques octets d’une charge utile.

Exemple détaillé#

Imaginons qu’un point d’accès de configuration renvoie ce bloc minifié et que vous cherchiez à repérer une clé mal nommée :

Entrée (minifiée, sur une ligne) :

{"server":"api.example.com","port":443,"retry":{"count":3,"backoffMs":[100,400,1600]},"tags":["prod","primary"]}

Cliquez sur Formater avec l’indentation 2 espaces et Trier les clés activé :

{
  "port": 443,
  "retry": {
    "backoffMs": [
      100,
      400,
      1600
    ],
    "count": 3
  },
  "server": "api.example.com",
  "tags": [
    "prod",
    "primary"
  ]
}

Avec les clés triées, backoffMs se trouve à côté de count, et vous voyez immédiatement la progression exponentielle (100, 400, 1600) qui était invisible sur la version sur une seule ligne. Notez que tags reste ["prod","primary"] — Trier les clés réordonne uniquement les propriétés d’objet ; il ne touche jamais aux éléments de tableau, donc l’ordre dans lequel vous les avez saisis est exactement celui que vous récupérez.

FAQ#

Cet outil envoie-t-il mes données quelque part ?#

Non. L’analyse est effectuée par l’API JSON intégrée au navigateur, au sein de cette page. Il n’y a aucun point d’accès serveur ni aucune requête réseau — votre entrée reste sur votre appareil.

La barre d’état indique que mon JSON est invalide alors qu’il semble correct. Que faire ?#

Vérifiez la ligne et la colonne signalées. Les quatre coupables les plus fréquents sont : une virgule finale avant un } ou ] fermant, des apostrophes autour des chaînes (le JSON exige des guillemets doubles), une clé d’objet sans guillemets, et une tabulation littérale ou un caractère de contrôle collé depuis un autre éditeur. Le numéro de colonne pointe vers le coupable exact.

Que fait exactement « Trier les clés » ?#

Il réécrit les propriétés de chaque objet par ordre alphabétique (ordre ASCII, sensible à la casse). Les tableaux conservent leur ordre d’origine — trier les clés ne réordonne jamais les éléments de tableau, car l’ordre d’un tableau a une signification sémantique.

Peut-il traiter de très gros fichiers ?#

Oui, jusqu’à la limite de mémoire du navigateur. Au-delà de quelques mégaoctets, attendez-vous à ce que la mise en forme prenne un instant perceptible ; la barre d’état affiche le nombre de caractères afin que vous puissiez jauger la taille. Cette page ne fait pas de traitement en flux, aussi les entrées très volumineuses (centaines de Mo) solliciteront fortement l’onglet.