Comparador de JSON (Diff)

Compara dos documentos JSON y ve exactamente qué se añadió, eliminó y cambió, por ruta. Pega o sube ambos lados, y copia o descarga las diferencias, todo en tu navegador.

100% Procesamiento del Lado del Cliente

Ambos documentos JSON se comparan completamente en tu navegador. No se sube nada a un servidor.

Diferencias
Añadidos: 0 Eliminados: 0 Cambiados: 0

No se encontraron diferencias: ambos documentos JSON son equivalentes.

¿Qué es un comparador de JSON (diff)?

Un comparador de JSON (diff) compara dos documentos JSON, una versión "original" y una "modificada", y reporta las diferencias exactas entre ellos: qué claves o elementos de arreglo se añadieron, cuáles se eliminaron y qué valores cambiaron, identificados por su ruta dentro del documento (como user.address.city o items[2]).

A diferencia de un diff de texto plano, que compara línea por línea y se confunde con JSON reindentado o reordenado, un diff estructural de JSON analiza ambos documentos y compara sus datos reales, así que las diferencias de formato nunca producen falsos positivos y cada cambio reportado es una diferencia real en los datos.

Cómo funciona

  • Añade ambos documentos: pega el JSON A (el original) y el JSON B (la versión modificada) directamente, o sube un archivo .json para cualquiera de los dos lados.
  • Elige tus opciones: activa "Ignorar el orden de los arreglos" si los elementos de un arreglo pueden reordenarse sin que eso cuente como un cambio real.
  • Lee el resultado al instante: la herramienta analiza y compara ambos documentos en tu navegador mientras escribes, listando cada valor añadido, eliminado y cambiado por ruta, con conteos en vivo para cada categoría.
  • Copia o descarga: copia el diff como JSON al portapapeles o descárgalo como archivo diff.json.

Características

  • Pega JSON directamente o sube un archivo .json para cualquiera de los dos lados
  • Comparación instantánea mientras escribes, sin botones
  • Comparación estructural, no basada en líneas: la sangría y el orden de las claves nunca causan diferencias falsas
  • Cada cambio se reporta con su ruta exacta (por ejemplo, user.address.city o items[2].name)
  • Distingue valores añadidos, eliminados y cambiados con resultados codificados por color
  • Modo opcional "Ignorar el orden de los arreglos" para arreglos sin un orden significativo
  • Intercambio con un clic entre el JSON A y el JSON B
  • Conteos en vivo de valores añadidos, eliminados y cambiados
  • Copia el diff como JSON o descárgalo como archivo
  • Procesamiento 100% en el navegador para tu privacidad

Buenas prácticas

  • Pon la versión "anterior" en el JSON A y la "posterior" en el JSON B: esta herramienta reporta los valores eliminados como los que están en A pero faltan en B, y los añadidos al revés; mantener el orden consistente hace que el diff sea más fácil de leer.
  • Activa "Ignorar el orden de los arreglos" para colecciones sin orden: si un arreglo representa un conjunto de etiquetas, IDs o elementos donde el orden no tiene significado, activar esto evita reportar un arreglo reordenado como una avalancha de cambios no relacionados.
  • Usa el botón de intercambio para revisar un diff en ambas direcciones: útil cuando no estás seguro de cuál documento es el "original"; intercambiar solo invierte de qué lado se reporta cada adición/eliminación.
  • Recuerda que las rutas usan notación de puntos para objetos y corchetes para arreglos: una ruta como orders[3].items[0].sku significa el campo sku del 1er ítem de la 4ª orden; lee las rutas de izquierda a derecha, siguiendo cada clave e índice en orden.
  • Compara registros individuales en lugar de exportaciones combinadas enormes cuando sea posible: un diff de un solo objeto de usuario es mucho más fácil de revisar que un diff de un volcado completo de base de datos; limita la comparación a lo que realmente necesitas revisar.

Solución de problemas

Dice que el JSON A o el JSON B no es válido

Revisa si hay una coma sobrante después del último elemento de un arreglo u objeto, claves sin comillas, comillas simples en lugar de dobles, o un corchete sin cerrar en el lado marcado; son las causas más comunes de que el JSON no se pueda analizar.

Un arreglo aparece como completamente diferente aunque tiene los mismos elementos

Por defecto, los arreglos se comparan posición por posición, así que los mismos elementos en un orden diferente se reportan como cambios en cada posición. Activa "Ignorar el orden de los arreglos" si el orden del arreglo no importa para tu comparación.

Un valor aparece como "cambiado" aunque se ve igual

Esto suele significar que los tipos difieren aunque los valores impresos se vean parecidos; por ejemplo, el número 5 frente a la cadena "5", o true frente a la cadena "true". Los comparadores de JSON comparan tanto por tipo como por valor.

La lista de diferencias es muy larga y difícil de revisar

Los documentos muy grandes o profundamente anidados pueden producir una lista larga y plana de cambios. Limita tu comparación a un subdocumento más pequeño (por ejemplo, un registro en lugar de un arreglo completo de registros) si solo necesitas revisar un área específica.

Casos de uso comunes

  • Revisar cambios en respuestas de API: compara una respuesta antes y después de un cambio en el backend para confirmar que solo se vieron afectados los campos previstos.
  • Auditar cambios en archivos de configuración: compara dos versiones de un archivo de configuración JSON para ver exactamente qué ajustes cambiaron entre despliegues.
  • Depurar por qué dos payloads "idénticos" se comportan diferente: detecta diferencias sutiles como una cadena frente a un número, o una clave faltante, que son fáciles de pasar por alto a simple vista.
  • Verificar scripts de migración o transformación de datos: compara la entrada y la salida de una transformación para confirmar que cambió exactamente los campos que debía cambiar.
  • Comparar fixtures de prueba o la salida de pruebas de snapshot: ve rápidamente qué cambió entre un snapshot JSON esperado y el real cuando falla una prueba.

Preguntas frecuentes

¿En qué se diferencia esto de una herramienta de diff de texto normal?

Un diff de texto compara línea por línea, así que reindentar o reordenar claves en un JSON por lo demás idéntico produce un diff enorme y ruidoso. Esta herramienta analiza ambos documentos y compara la estructura de datos real, así que solo se reportan diferencias de valor reales, sin importar el formato.

¿Qué significa la ruta en cada resultado?

La ruta muestra exactamente dónde en el documento está la diferencia, usando notación de puntos para claves de objeto y notación de corchetes para índices de arreglo; por ejemplo, user.address.city o tags[2]. Una ruta vacía significa que la diferencia está en el nivel superior del documento.

¿Por qué reordenar un arreglo mostró muchos cambios?

Por defecto, los elementos del arreglo se comparan por su posición (índice), así que mover un elemento cambia lo que hay en cada posición a partir de ahí. Activa "Ignorar el orden de los arreglos" si el arreglo representa una colección sin orden.

¿Me indica si cambió el tipo de un valor, no solo su valor?

Sí. Un valor que cambia de cadena a número, de objeto a arreglo, o de null a un valor real se reporta como una diferencia "cambiada", igual que un cambio de valor normal.

¿Puedo comparar arreglos de objetos, como una lista de registros?

Sí, los arreglos de objetos se comparan de forma recursiva; cada objeto en cada posición del arreglo se compara campo por campo, así que verás exactamente qué campos cambiaron dentro de qué elemento del arreglo.

¿Guardáis alguno de los documentos JSON?

No. Todo ocurre localmente en tu navegador y ninguno de los documentos se sube ni se guarda.

¿Hay un límite de tamaño?

La comparación funciona en la memoria de tu navegador, así que documentos JSON muy grandes (decenas de megabytes o más, o estructuras muy anidadas) pueden ir lentos o usar mucha memoria según tu dispositivo.

Share this tool

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