Comparateur JSON (Diff)

Comparez deux documents JSON et voyez exactement ce qui a été ajouté, supprimé et modifié, par chemin. Collez ou importez les deux côtés, puis copiez ou téléchargez les différences, le tout dans votre navigateur.

100% Traitement côté client

Les deux documents JSON sont comparés entièrement dans votre navigateur. Rien n'est envoyé à un serveur.

Différences
Ajoutés : 0 Supprimés : 0 Modifiés : 0

Aucune différence trouvée — les deux documents JSON sont équivalents.

Qu'est-ce qu'un comparateur JSON (diff) ?

Un comparateur JSON (diff) compare deux documents JSON — une version « originale » et une version « modifiée » — et signale les différences exactes entre eux : quelles clés ou éléments de tableau ont été ajoutés, lesquels ont été supprimés, et quelles valeurs ont changé, identifiés par leur chemin à l'intérieur du document (comme user.address.city ou items[2]).

Contrairement à un diff de texte brut, qui compare ligne par ligne et se perd avec du JSON réindenté ou réordonné, un diff structurel de JSON analyse les deux documents et compare leurs données réelles, de sorte que les différences de formatage ne produisent jamais de faux positifs et que chaque changement signalé est une véritable différence dans les données.

Comment ça marche

  • Ajoutez les deux documents : collez le JSON A (l'original) et le JSON B (la version modifiée) directement, ou importez un fichier .json pour l'un ou l'autre côté.
  • Choisissez vos options : activez « Ignorer l'ordre des tableaux » si les éléments d'un tableau peuvent être réordonnés sans que cela compte comme un vrai changement.
  • Lisez le résultat instantanément : l'outil analyse et compare les deux documents dans votre navigateur au fur et à mesure de la saisie, listant chaque valeur ajoutée, supprimée et modifiée par chemin, avec des compteurs en direct pour chaque catégorie.
  • Copiez ou téléchargez : copiez le diff au format JSON dans le presse-papiers ou téléchargez-le sous forme de fichier diff.json.

Fonctionnalités

  • Collez du JSON directement ou importez un fichier .json pour l'un ou l'autre côté
  • Comparaison instantanée en direct pendant la saisie, sans bouton
  • Comparaison structurelle, pas basée sur les lignes — l'indentation et l'ordre des clés ne créent jamais de fausses différences
  • Chaque changement signalé avec son chemin exact (ex. user.address.city ou items[2].name)
  • Distingue les valeurs ajoutées, supprimées et modifiées avec des résultats codés par couleur
  • Mode optionnel « Ignorer l'ordre des tableaux » pour les tableaux sans ordre significatif
  • Échange en un clic entre le JSON A et le JSON B
  • Compteurs en direct des valeurs ajoutées, supprimées et modifiées
  • Copiez le diff au format JSON ou téléchargez-le en fichier
  • Traitement 100% côté navigateur pour la confidentialité

Bonnes pratiques

  • Mettez la version « avant » dans le JSON A et la version « après » dans le JSON B : cet outil signale les valeurs supprimées comme présentes dans A mais absentes de B, et les valeurs ajoutées inversement — garder l'ordre cohérent rend le diff plus facile à lire.
  • Activez « Ignorer l'ordre des tableaux » pour les collections non ordonnées : si un tableau représente un ensemble d'étiquettes, d'identifiants ou d'éléments où l'ordre n'a pas de sens, activer cela évite de signaler un tableau réordonné comme une avalanche de changements sans rapport.
  • Utilisez le bouton d'échange pour vérifier un diff dans les deux sens : utile lorsque vous n'êtes pas sûr de quel document est l'« original » — l'échange inverse simplement de quel côté chaque ajout/suppression est signalé.
  • N'oubliez pas que les chemins utilisent la notation par points pour les objets et les crochets pour les tableaux : un chemin comme orders[3].items[0].sku signifie le champ sku du 1er élément de la 4e commande — lisez les chemins de gauche à droite, en suivant chaque clé et index dans l'ordre.
  • Comparez des enregistrements individuels plutôt que d'énormes exports combinés quand c'est possible : un diff d'un seul objet utilisateur est bien plus facile à examiner qu'un diff d'un dump complet de base de données — limitez la comparaison à ce dont vous avez réellement besoin de vérifier.

Dépannage

L'outil indique que le JSON A ou le JSON B n'est pas valide

Vérifiez la présence d'une virgule superflue après le dernier élément d'un tableau ou objet, des clés sans guillemets, des guillemets simples au lieu de doubles, ou un crochet non fermé du côté signalé — ce sont les causes les plus fréquentes d'échec d'analyse JSON.

Un tableau apparaît comme complètement différent alors qu'il a les mêmes éléments

Par défaut, les tableaux sont comparés position par position, donc les mêmes éléments dans un ordre différent sont signalés comme des changements à chaque position. Activez « Ignorer l'ordre des tableaux » si l'ordre du tableau n'a pas d'importance pour votre comparaison.

Une valeur apparaît comme « modifiée » alors qu'elle semble identique

Cela signifie généralement que les types diffèrent même si les valeurs affichées se ressemblent — par exemple le nombre 5 contre la chaîne « 5 », ou true contre la chaîne « true ». Les comparateurs JSON comparent à la fois par type et par valeur.

La liste des différences est très longue et difficile à parcourir

Des documents très volumineux ou profondément imbriqués peuvent produire une longue liste plate de changements. Réduisez votre comparaison à un sous-document plus petit (par exemple un enregistrement plutôt qu'un tableau complet d'enregistrements) si vous n'avez besoin de vérifier qu'une zone spécifique.

Cas d'usage courants

  • Examiner les changements de réponses d'API : comparez une réponse avant et après un changement backend pour confirmer que seuls les champs prévus ont été affectés.
  • Auditer les changements de fichiers de configuration : comparez deux versions d'un fichier de configuration JSON pour voir exactement quels paramètres ont changé entre les déploiements.
  • Déboguer pourquoi deux payloads « identiques » se comportent différemment : repérez des différences subtiles comme une chaîne contre un nombre, ou une clé manquante, faciles à manquer à l'œil nu.
  • Vérifier des scripts de migration ou de transformation de données : comparez l'entrée et la sortie d'une transformation pour confirmer qu'elle a modifié exactement les champs prévus.
  • Comparer des fixtures de test ou la sortie de tests de snapshot : voyez rapidement ce qui a changé entre un snapshot JSON attendu et réel quand un test échoue.

Questions fréquentes

En quoi est-ce différent d'un outil de diff de texte classique ?

Un diff de texte compare ligne par ligne, donc réindenter ou réordonner des clés dans un JSON par ailleurs identique produit un diff énorme et bruyant. Cet outil analyse les deux documents et compare la structure de données réelle, donc seules les vraies différences de valeur sont signalées, quel que soit le formatage.

Que signifie le chemin dans chaque résultat ?

Le chemin montre exactement où se trouve la différence dans le document, en utilisant la notation par points pour les clés d'objet et la notation par crochets pour les index de tableau — par exemple user.address.city ou tags[2]. Un chemin vide signifie que la différence est au tout premier niveau du document.

Pourquoi réordonner un tableau a-t-il montré de nombreux changements ?

Par défaut, les éléments de tableau sont comparés par leur position (index), donc déplacer un élément change ce qui se trouve à chaque position à partir de là. Activez « Ignorer l'ordre des tableaux » si le tableau représente une collection non ordonnée.

L'outil indique-t-il si le type d'une valeur a changé, pas seulement sa valeur ?

Oui. Une valeur passant d'une chaîne à un nombre, d'un objet à un tableau, ou de null à une vraie valeur est signalée comme une différence « modifiée », comme un changement de valeur classique.

Puis-je comparer des tableaux d'objets, comme une liste d'enregistrements ?

Oui, les tableaux d'objets sont comparés récursivement — chaque objet à chaque position du tableau est comparé champ par champ, vous verrez donc exactement quels champs ont changé dans quel élément du tableau.

Stockez-vous l'un des documents JSON ?

Non. Tout se passe localement dans votre navigateur, et aucun des deux documents n'est envoyé ni enregistré.

Y a-t-il une limite de taille ?

La comparaison fonctionne dans la mémoire de votre navigateur, donc de très gros documents JSON (dizaines de mégaoctets ou plus, ou structures très imbriquées) peuvent être lents ou consommer beaucoup de mémoire selon votre appareil.

Share this tool

Share a direct link or embed this tool on your site. Keep the Tooladex attribution link to support the project.