100 % local — vos données ne quittent jamais votre navigateur

Diff JSON — voyez quelle valeur a changé

Comparez deux documents JSON. L’indentation et l’ordre des clés sont neutralisés d’abord : ce que vous voyez est ce qui diffère vraiment, au chiffre près.

Instantané Privé Zéro cookie

Original

Modifié

Différences

Ce que fait cet outil

Il normalise les deux côtés — indentation à deux espaces, clés triées — puis les compare ligne à ligne et affiche le résultat en diff unifié :

@@ -2,4 +2,4 @@
   "host": "localhost",
-  "port": 8080,
+  "port": 3000,
   "tls": true

- est l’original, + le modifié, et la ligne @@ donne la région. C’est le format que parlent git diff et patch.

Ce qui compte comme différence

différence ?
Indentation, sauts de lignenon
Ordre des clés d’un objetnon, par défaut
Ordre des éléments d’un tableauoui
Une valeur qui a changéoui

Objets et tableaux sont traités différemment parce que JSON les traite différemment : un objet est un ensemble non ordonné de paires, un tableau est une suite. Réordonner les clés d’un objet donne la même valeur ; réordonner les éléments d’un tableau en donne une autre.

Au dernier chiffre près

{ "id": 12345678901234567890 }
{ "id": 12345678901234567891 }

Ces deux documents diffèrent, et cet outil le dit.

Cela mérite d’être écrit parce que ce ne fut pas toujours le cas. Normaliser les deux côtés par une analyse JSON ordinaire faisait passer chaque nombre par un flottant double précision, et les deux identifiants — vingt chiffres, ne différant que par le dernier — se confondaient en une seule valeur. Le diff revenait vide, ce qui se lit aucune différence.

Un diff vide est une affirmation, pas un haussement d’épaules. Un outil de comparaison est précisément celui à qui l’on demande de voir ce que l’œil ne voit pas : les deux côtés sont désormais lus sans perte et comparés tels qu’écrits.

Les clés en double sont signalées

Si l’un des deux documents répète une clé, la comparaison s’arrête et le dit, exactement comme le fait le formateur JSON. Ne garder que la dernière occurrence de chacune — ce que la plupart des analyseurs font sans bruit — laisserait une vraie différence entre les deux fichiers s’évanouir avant même le début de la comparaison.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi un JSON réordonné est-il affiché comme identique ?
Parce qu’un objet JSON est un ensemble non ordonné de paires nom/valeur : deux documents dont les clés apparaissent dans un autre ordre portent la même valeur. Les deux côtés sont triés avant comparaison. Désactivez le réglage si vous voulez justement voir le réordonnancement — avant et après un outil qui a réécrit le fichier, par exemple.
Pourquoi des éléments de tableau réordonnés sont-ils une différence ?
Parce que l’ordre d’un tableau *fait partie* de sa valeur. `["read", "write"]` et `["write", "read"]` sont deux valeurs JSON différentes, et un comparateur qui masquerait cela masquerait un changement dans l’ordre des migrations, des étapes d’un pipeline, de tout ce qui est séquentiel.
Et si la même clé apparaît deux fois dans l’un des fichiers ?
Elle est signalée plutôt qu’arbitrée en silence — la même réponse que donne le formateur JSON. Comparer deux documents en ne gardant que la dernière occurrence de chaque clé répétée laisserait une vraie différence disparaître entre les deux fichiers.

Convertisseurs associés