Formater, valider et minifier du JSON

Collez votre JSON : l’outil vérifie immédiatement s’il est valide, indique l’emplacement exact de l’erreur avec une explication et fournit le résultat indenté ou minifié, prêt à copier. Rien n’est envoyé sur un serveur.

Collez ou saisissez du JSON – il est vérifié à chaque modification.

Votre texte reste dans votre navigateur : il n’est ni envoyé, ni enregistré, ni ajouté à l’adresse de la page.

Trie les clés de chaque objet (y compris imbriqué) ; l’ordre des éléments dans les tableaux est conservé.
Vos saisies sont enregistrées uniquement dans ce navigateur.

Résultat

Résultat
✓ JSON valide
Statistiques
Valeurs : 15 · Objets : 4 · Tableaux : 1 · Clés : 12 · Profondeur : 4 · Caractères : 216 → 311
Sortie
{ "societe": "Exemple SAS", "creation": 2019, "active": true, "chiffreAffaires": 1250000.50, "sites": [ { "ville": "Paris", "effectif": 42 }, { "ville": "Lyon", "effectif": 17 } ], "contact": { "email": "contact@example.com", "telephone": null } }

Comment le calcul est fait

Ce que l’outil vérifie

La référence est la RFC 8259, le standard Internet du JSON (équivalent à ECMA-404). L’outil lit votre texte caractère par caractère avec son propre parseur et s’arrête à la première infraction. Le message indique la ligne et la colonne, signale l’endroit par un ^ et explique le problème – de la même façon dans tous les navigateurs, car les messages intégrés de JSON.parse varient d’un navigateur à l’autre et sont souvent peu parlants (« Unexpected token »).

Les erreurs JSON les plus fréquentes

Formater, minifier, trier

La sortie est reconstruite à partir du contenu validé : Formater indente chaque niveau de 2 ou 4 espaces ou d’une tabulation, Minifier supprime tous les blancs facultatifs (fichier le plus léger). Nombres et chaînes sont conservés à l’identique – contrairement à JSON.parse + JSON.stringify, 1.0 ne devient pas 1 et 12345678901234567890 n’est pas arrondi. Trier classe les clés par unités de code Unicode, comme le JSON Canonicalization Scheme (RFC 8785) : majuscules avant minuscules, lettres accentuées (é, è, à…) après les deux.

Avertissements plutôt qu’erreurs

Les clés en double dans un même objet ne sont pas interdites par la RFC 8259, mais peu fiables : la plupart des programmes ne gardent que la dernière valeur. Un BOM (indicateur d’ordre des octets) en début de texte peut être ignoré par un lecteur – l’outil l’ignore et vous le signale.

Limites

L’outil vérifie la syntaxe, pas le sens : savoir si des champs obligatoires manquent ou si les types sont corrects relève d’un JSON Schema. Les colonnes comptent les caractères Unicode à partir de 1 (une tabulation = 1 caractère) ; un éditeur réglé sur une largeur de tabulation de 4 affichera une colonne plus élevée. L’entrée est limitée à 5 millions de caractères et 1 000 niveaux d’imbrication.

Questions fréquentes

Mon JSON est-il envoyé ou enregistré ?

Non. La validation et la mise en forme se font entièrement dans votre navigateur. Le texte n’apparaît pas dans la barre d’adresse et n’est pas enregistré – seules les options (sortie, indentation, tri) figurent dans le lien.

Pourquoi les commentaires et les virgules finales sont-ils interdits ?

Le JSON est volontairement minimal, afin que tous les langages de programmation le lisent de la même manière. Commentaires et virgules finales relèvent d’extensions comme JSON5 ou JSONC (utilisé par exemple pour les réglages de VS Code) – en tant que JSON pur, ces fichiers ne sont pas valides.

Mon JSON est valide, mais le programme le refuse quand même – pourquoi ?

Le plus souvent, le contenu ne correspond pas à ce qu’attend le programme : un champ obligatoire manquant, un nombre à la place d’une chaîne ou une autre structure. C’est ce que décrit un JSON Schema ou la documentation de l’API. Vérifiez aussi l’avertissement sur les clés en double.

La ligne et la colonne correspondent-elles à mon éditeur ?

Les lignes, toujours. Les colonnes comptent les caractères à partir de 1 ; une tabulation compte pour un caractère, un emoji aussi. Un éditeur qui affiche les tabulations sur 4 colonnes indiquera un nombre plus élevé. « Aller à l’erreur » place le curseur exactement au bon endroit.

Comment trouver le problème après « fin inattendue » ?

Il manque presque toujours une accolade } ou un crochet ] fermant, ou un guillemet. Le message indique la ligne de l’accolade ou du crochet jamais refermé – commencez par regarder la fin de ce bloc.

Sources et références juridiques

Dernière mise à jour :

Outils similaires