Skip to content
jsonforge.app

JSON Compare

Diff two JSON documents and see every added, removed, and changed value.

Original (izquierda)

Loading editor…

Modificado (derecha)

Loading editor…

Diferencias

Escribe JSON en ambos lados para compararlos.

¿Qué es JSON Compare?

JSON Compare is a structural diff tool that takes two JSON documents and reports exactly which values were added, removed, or changed, each identified by its path (for example items[2].name). It parses both inputs and compares the resulting values, so whitespace and key ordering are ignored and only actual differences in keys and values surface. Arrays are compared positionally by index, which means inserting an element in the middle shows every element after it as changed rather than a single insertion. It runs entirely in your browser, so nothing you paste is transmitted anywhere.

Cómo usar JSON Compare

  1. Paste the original JSON into the left box and the changed JSON into the right box.
  2. The difference list updates instantly, showing every added, removed, and changed value by its path.
  3. Object keys are compared regardless of order — only actual value differences are reported.
  4. Array elements are compared by index; extra trailing elements on either side show up as added or removed.

Ejemplos

Changed value

Entrada

Left: {"a":1} Right: {"a":2}

Salida

a: changed 1 → 2

Added key

Entrada

Left: {"a":1} Right: {"a":1,"b":2}

Salida

b: added (2)

Nested path

Entrada

Left: {"user":{"name":"Ada"}} Right: {"user":{"name":"Grace"}}

Salida

user.name: changed "Ada" → "Grace"

Errores comunes

  • Assuming this does a "smart" line-based diff like a text/git diff — it's a structural JSON diff, so reordering array elements shows up as changes even if the same values are still present.
  • Comparing minified JSON against pretty-printed JSON and expecting whitespace to matter — only the parsed values are compared, not formatting.
  • Forgetting that JSON has no "undefined" — a key that's genuinely missing shows as added/removed, while a key explicitly set to null is a real value and will show as changed if the other side differs.

Por qué usar esta herramienta

  • Path-based diff output tells you exactly where a difference is, not just that the documents differ.
  • Ignores key ordering, focusing only on actual structural and value differences.
  • Clear, separate error messages when either side fails to parse, instead of one generic failure.
  • Runs entirely client-side — nothing you paste is sent anywhere.

Preguntas frecuentes