Comparador de textos

Se ejecuta en tu navegador; no se sube nada

Compara dos versiones de un texto línea a línea, con las palabras cambiadas resaltadas.

Original

Modified

Differences

Nothing to compare yet

Paste or open the original text on the left and the modified text on the right. Lines are matched as in diff and git; changed lines show which words changed.
Ready

¿Qué es un diff de texto?

Un diff muestra en qué se diferencian dos versiones de un texto: qué líneas se quitaron, cuáles se añadieron y cuáles siguen igual. Es la idea que hay detrás de git diff, de las herramientas de revisión de código y de la función de comparar de la mayoría de los editores.

Esta herramienta empareja las líneas igual que diff y git, con el algoritmo de Myers, que encuentra el conjunto más pequeño de líneas añadidas y quitadas. Una línea editada aparece como una línea quitada junto a la línea añadida que la sustituyó, y las palabras que cambiaron dentro de ella se resaltan.

En el trabajo con APIs, un diff responde preguntas como qué cambió en una respuesta desde ayer, por qué staging devuelve algo distinto que producción o qué campos añadió o quitó una nueva versión de la API. Antes, formatea las dos respuestas JSON de la misma manera, por ejemplo con el formateador de JSON, para que solo aparezcan los cambios reales.

Cómo usar esta herramienta

  1. 1Pega o abre la versión antigua en Original y la nueva en Modified. Puedes arrastrar un archivo a cualquiera de los dos editores. En Examples hay tres parejas para probar.
  2. 2Lee el panel Differences: las líneas quitadas aparecen en rojo con −, las añadidas en verde con +, y las palabras cambiadas dentro de una línea van resaltadas. Cambia entre Side by side y Unified en la cabecera del panel.
  3. 3Only changes pliega los tramos largos de líneas sin cambios y deja tres líneas alrededor de cada cambio; haz clic en una fila plegada para abrirla. Usa F7 y Shift+F7, o las flechas, para saltar de un cambio a otro.
  4. 4Usa Ignore para dejar fuera las diferencias de espacios, mayúsculas o finales de línea (CRLF frente a LF). La barra de estado avisa cuando los textos solo se diferencian en los finales de línea.
  5. 5Copy patch o Download patch dan los cambios como un diff unificado que aceptan git apply y patch. Swap intercambia los dos lados; Ctrl+Z lo deshace lado a lado, y también deshace Clear.

Solución de problemas

Todas las líneas aparecen como cambiadas
Seguramente los textos usan finales de línea distintos (CRLF de Windows frente a LF) o una sangría diferente. La barra de estado informa de los finales de línea; activa Ignore line endings o Ignore whitespace.
Dos respuestas JSON parecen completamente distintas
Probablemente una está minificada o tiene otra sangría. Formatea las dos con la misma sangría en el formateador de JSON y luego compáralas. Su pestaña Compare también compara JSON por clave, sin tener en cuenta el orden de las claves.
La última línea aparece como cambiada aunque parece igual
Un texto termina con un salto de línea y el otro no. Las herramientas de diff lo cuentan como un cambio (el patch dice \ No newline at end of file). Ignore line endings lo deja fuera.
El texto pegado nunca muestra finales de línea CRLF
Los navegadores convierten en LF todo salto de línea que se escribe o se pega en un campo de texto, así que CRLF no sobrevive a un pegado. Abre los archivos con Open o arrastrándolos: la herramienta compara sus finales de línea tal como están en el disco.
Demasiado grande para comparar
Cada lado admite hasta 50.000 líneas o 5 millones de caracteres. Para archivos más grandes, usa git diff --no-index a.txt b.txt o diff -u en la línea de comandos.

Preguntas frecuentes

¿Por qué una línea cambiada aparece como una eliminación y una adición?

Los diffs comparan líneas completas. Cuando cambia cualquier cosa en una línea, la línea antigua ya no coincide, así que se lista como quitada y la nueva como añadida, una junto a otra. Las palabras resaltadas muestran qué cambió dentro de la línea.

¿El patch respeta las opciones de Ignore?

No. El patch siempre describe las diferencias exactas, incluidos espacios, mayúsculas y finales de línea, para que git apply y patch puedan aplicarlo. Las opciones de Ignore solo cambian lo que muestra el panel Differences.

¿Qué significa "shown as replaced"?

Cuando dos textos grandes no tienen casi nada en común, encontrar el diff más pequeño puede tardar muchísimo. Tras una cantidad fija de trabajo, la herramienta muestra la región restante como quitada y añadida entera. El resultado sigue siendo un diff correcto, solo que menos detallado.

¿Se sube mi texto a algún sitio?

No. La comparación se hace en tu navegador. Para que sobreviva a una recarga, lo que pegas se guarda en el almacenamiento de sesión de esta pestaña hasta que lo borras o cierras la pestaña. Copy link pone la entrada en el enlace después de #, una parte que los navegadores nunca envían a un servidor, pero cualquiera a quien le des el enlace podrá leerla. Tus ajustes, como la disposición y las opciones de Ignore, se guardan en este navegador.