JSON
JSON Diff / Compare
Comparación de dos documentos JSON — qué se añadió, eliminó o modificó, con la ruta exacta de cada diferencia.
Unlike a plain text diff, JSON Diff compares two documents by structure rather than by line: it understands that key order in an object doesn't matter, and it shows the exact path (e.g. user.address.city) to every difference.
How to use it
- Paste the original JSON into one field and the new version into the other.
- The result lists added, removed, and changed fields with the exact path to each and its old and new value.
- Formatting and key order don't affect the result — only the underlying data structure is compared.
Common uses
- Checking exactly what changed in an API response between two versions or two requests.
- Comparing configuration files (package.json, app settings) across branches or environments.
- Debugging a failing test by precisely comparing the expected and actual JSON output.
Things to keep in mind
Array elements are usually compared by position (index) — inserting one element near the start can show every following item as "changed", even though they merely shifted.
The comparison is structural, not textual — two JSON documents with identical data but different formatting or key order are treated as the same.
Preguntas frecuentes
¿Cómo compara la herramienta los elementos de un array?
La comparación suele basarse en la posición (índice), así que incluso elementos idénticos que solo cambiaron de orden pueden mostrarse como "modificados" en vez de reconocerse como un simple movimiento.
¿Qué muestra exactamente la herramienta para cada diferencia?
Muestra la ruta exacta de cada diferencia junto con su tipo (añadido, eliminado o modificado), lo que facilita ubicar el cambio dentro de la estructura JSON.
¿Se sube alguno de los dos documentos a un servidor durante la comparación?
No, la comparación se realiza íntegramente en el navegador mediante JavaScript, sin subir ningún dato fuera de tu equipo.
¿Se tiene en cuenta el orden de las claves de un objeto en el resultado de la comparación?
No, la comparación estructural solo se fija en los datos en sí — si existe un campo, su valor y su tipo. El orden de las claves de un objeto JSON no tiene significado semántico, por lo que no afecta al resultado.
¿Se pueden comparar los elementos de un array por identificador en vez de por posición?
Depende del algoritmo de comparación concreto. Las herramientas de diff más simples siempre cotejan los elementos del array por índice; las más avanzadas intentan emparejar objetos por un campo común como id, para mostrar de forma más precisa una inserción o eliminación.