Formateur JSON
Formatez, minifiez ou validez du JSON localement dans votre navigateur avec une indentation de 2 ou 4 espaces, sans coller de données sensibles ailleurs.
Ce que fait l'outil
- Formatage JSON avec indentation 2 ou 4 espaces
- Minification JSON en une seule ligne
- Validation avec ligne et colonne de l'erreur
- Analyse stricte par un moteur Rust (serde_json)
- Traitement via WebAssembly, aucune donnée envoyée
Ce formateur JSON prend un document brut ou minifié et en fait l'une de ces trois choses : l'indenter proprement avec 2 ou 4 espaces, le compacter sur une seule ligne, ou le valider en indiquant précisément où la syntaxe casse. L'analyse repose sur serde_json, la bibliothèque JSON de référence en Rust, compilée en WebAssembly et exécutée dans l'onglet de votre navigateur. Pourquoi formater ici plutôt que sur un site tiers ? Notre article sur le formatage JSON privé rappelle que les payloads d'API contiennent des tokens et des clés internes qu'on ne devrait coller nulle part ailleurs.
Comment formater un JSON
- Collez votre JSON dans le champ d'entrée : une ligne copiée d'un log, le corps d'une réponse relevé dans l'onglet Réseau, ou un fichier de configuration entier.
- Choisissez l'indentation :
2espaces (par défaut, l'usage courant en JavaScript et sur le web) ou4espaces (fréquent en Python). - Cliquez sur Formater pour une sortie lisible, Minifier pour une ligne compacte, ou Valider pour vérifier la syntaxe seulement.
- Copiez le résultat avec le bouton de copie placé au-dessus de la sortie.
Les trois modes et quand les utiliser
- Formater : réécrit le document avec une indentation régulière, une clé par ligne. Idéal pour lire une réponse d'API, relire une modification de config ou insérer un exemple lisible dans un ticket.
- Minifier : supprime tous les espaces et retours à la ligne superflus, et affiche le nombre de caractères obtenu. Utile pour placer du JSON dans une variable d'environnement, un paramètre d'URL ou une fixture de test.
- Valider : analyse sans rien produire et répond soit « JSON valide », soit la première erreur avec sa ligne et sa colonne (par exemple
Error at line 1, column 8: trailing comma). Le bon réflexe quand un déploiement ou un parseur refuse un fichier.
Ce que le formateur modifie dans votre JSON
L'outil analyse le document puis le réécrit. C'est ce qui garantit une sortie valide, mais certains détails sont normalisés au passage :
- Ordre des clés : les clés des objets ressortent triées par ordre alphabétique, à tous les niveaux. Les tableaux gardent leur ordre. Le sens des données ne change pas (un objet JSON n'est pas ordonné), mais un diff avec le fichier d'origine montrera des lignes déplacées.
- Clés en double : si un objet contient deux fois la même clé, la dernière valeur l'emporte et une seule clé subsiste.
- Très grands entiers : au-delà de la plage 64 bits, un entier est converti en nombre à virgule flottante et perd en précision (un identifiant de 23 chiffres devient
1.2345678901234568e+22). Les entiers 64 bits et les décimaux comme1.0restent intacts. Pour des identifiants plus longs, stockez-les en chaînes. - Le contenu des chaînes n'est jamais modifié : seuls les espaces entre les éléments sont réécrits.
Les erreurs JSON les plus fréquentes
Le parseur est strict et suit la norme JSON (RFC 8259). Il refuse donc ce que JavaScript ou certains dialectes de configuration tolèrent :
- La virgule finale après le dernier élément d'un objet ou d'un tableau.
- Les commentaires
//ou/* */. Untsconfig.json, écrit en JSONC, ne passera la validation qu'une fois ses commentaires retirés. - Les apostrophes à la place des guillemets doubles, ou les clés sans guillemets, qui relèvent de la syntaxe objet JavaScript.
- Un retour à la ligne non échappé à l'intérieur d'une chaîne.
- Une virgule manquante entre deux éléments, ou une accolade fermante absente dans une réponse tronquée.
La position indiquée est celle où l'analyse s'arrête. L'erreur réelle se trouve à cet endroit ou juste avant, typiquement une virgule oubliée en fin de ligne précédente.
Par rapport à jq, Python ou un éditeur
En ligne de commande, jq . fait la même mise en forme et python -m json.tool fonctionne partout où Python est installé. VS Code formate le JSON avec un raccourci. Cette page sert quand ces outils ne sont pas à portée de main (poste verrouillé, machine d'un client), quand vous voulez la position exacte d'une erreur en deux secondes, ou pour dépanner un collègue sans lui faire installer quoi que ce soit. Contrairement à la plupart des formateurs en ligne, elle n'envoie rien à un serveur.
Confidentialité : vos payloads restent sur votre poste
Le JSON transporte des clés d'API, des tokens de session, des fiches clients, des noms d'hôtes internes et parfois des identifiants de base de données. Coller une réponse de production dans un formateur qui la transmet à un serveur, c'est la confier aux logs d'un tiers, avec les questions de conformité RGPD que cela soulève dès qu'il s'agit de données personnelles. Ici, l'analyse et la mise en forme s'exécutent en WebAssembly dans la page, sans aucune requête réseau pour votre contenu. Vérifiez-le dans l'onglet Réseau des outils de développement, ou coupez votre connexion après le chargement : l'outil continue de fonctionner.
Foire aux questions
- Mon JSON est-il envoyé à un serveur ?
- Non. Le JSON est analysé et formaté par un module Rust compilé en WebAssembly, dans votre navigateur. Rien n'est téléversé, journalisé ni conservé.
- Pourquoi l'ordre de mes clés a-t-il changé ?
- Le formateur reconstruit le document à partir des données analysées et écrit les clés dans l'ordre alphabétique. Les données sont équivalentes, mais si vous comparez ligne à ligne avec l'original, attendez-vous à des déplacements.
- Le validateur accepte-t-il les commentaires ou les virgules finales ?
- Non. Il valide du JSON standard uniquement. Commentaires et virgules finales provoquent une erreur avec ligne et colonne, comme dans la plupart des parseurs de production.
- 2 ou 4 espaces : quelle différence ?
- Uniquement la lisibilité et la convention du projet. Les deux produisent un JSON valide aux données identiques.
- L'outil peut-il corriger automatiquement un JSON invalide ?
- Non. Il signale la première erreur et sa position pour que vous la corrigiez. Une réparation automatique devrait deviner votre intention, par exemple l'emplacement d'une accolade manquante.
- Y a-t-il une limite de taille ?
- Aucune limite fixe. Le traitement se fait en mémoire : pour des documents de plusieurs dizaines de mégaoctets, tout dépend de la mémoire disponible sur votre appareil.
- Puis-je convertir mon JSON dans un autre format ?
- Cet outil garde le JSON en JSON. Pour obtenir un tableau, passez par le convertisseur JSON vers CSV ; pour un fichier de configuration, par le convertisseur JSON vers YAML.
Outils connexes : comparez deux versions d'un fichier formaté avec le diff de texte, ou passez d'un format de configuration à l'autre avec le convertisseur YAML, JSON et TOML.