100 % local: tus datos nunca salen de tu navegador

Diff JSON — mira qué valor ha cambiado

Compara dos documentos JSON. La indentación y el orden de las claves se neutralizan antes: lo que ves es lo que difiere de verdad, hasta la última cifra.

Instantáneo Privado Cero cookies

Original

Modificado

Diferencias

Qué hace esta herramienta

Normaliza ambos lados —indentación de dos espacios, claves ordenadas— y luego los compara línea a línea y muestra el resultado como diff unificado:

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

- es el original, + el modificado, y la línea @@ da la región. Es el formato que hablan git diff y patch.

Qué cuenta como diferencia

¿diferencia?
Indentación, saltos de líneano
Orden de claves de un objetono, por defecto
Orden de elementos de un arraysí
Un valor que cambiósí

Objetos y arrays se tratan distinto porque JSON los trata distinto: un objeto es un conjunto no ordenado de pares, un array es una secuencia. Reordenar las claves de un objeto da el mismo valor; reordenar los elementos de un array da otro.

Hasta la última cifra

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

Estos dos documentos difieren, y esta herramienta lo dice.

Merece escribirse porque no siempre fue así. Normalizar ambos lados con un análisis JSON corriente hacía pasar cada número por un flotante de doble precisión, y los dos identificadores —veinte cifras, distintas solo en la última— se confundían en un mismo valor. El diff volvía vacío, lo que se lee como ninguna diferencia.

Un diff vacío es una afirmación, no un encogimiento de hombros. Una herramienta de comparación es justamente aquella a la que pides ver lo que el ojo no ve: ahora ambos lados se leen sin pérdida y se comparan tal como están escritos.

Las claves repetidas se señalan

Si uno de los dos documentos repite una clave, la comparación se detiene y lo dice, exactamente como hace el formateador JSON. Quedarse solo con la última aparición de cada una —lo que la mayoría de los analizadores hace sin ruido— dejaría que una diferencia real entre los dos archivos se esfumara antes incluso de empezar.

Privado por diseño

Todo se ejecuta localmente en tu navegador con JavaScript. Tus datos nunca se suben a un servidor, lo que hace que la herramienta sea segura para contenido sensible y funcione sin conexión.

Preguntas frecuentes

¿Por qué un JSON reordenado aparece como idéntico?
Porque un objeto JSON es un conjunto no ordenado de pares nombre/valor: dos documentos cuyas claves aparecen en otro orden llevan el mismo valor. Ambos lados se ordenan antes de comparar. Desactiva el ajuste si lo que quieres es ver el reordenamiento en sí —antes y después de una herramienta que reescribió el archivo, por ejemplo.
¿Por qué los elementos de un array reordenados sí son diferencia?
Porque el orden de un array *forma parte* de su valor. `["read", "write"]` y `["write", "read"]` son dos valores JSON distintos, y un comparador que lo ocultara ocultaría un cambio en el orden de las migraciones, de los pasos de un pipeline, de cualquier cosa secuencial.
¿Y si la misma clave aparece dos veces en uno de los archivos?
Se señala en vez de arbitrarse en silencio, la misma respuesta que da el formateador JSON. Comparar dos documentos quedándose solo con la última aparición de cada clave repetida dejaría desaparecer una diferencia real entre los dos archivos.

Convertidores relacionados