Comparador de textos y código: diferencias por línea

Pegue el original y la versión modificada para ver las líneas añadidas (+), eliminadas (−) e iguales resaltadas.

Comparar dos textos línea a línea: cómo leer el diff

La herramienta compara dos textos línea a línea: una línea presente en ambos lados es idéntica, una que solo existe en el original se marca como eliminada (−) y una que solo existe en la versión modificada, como añadida (+). En el ejemplo JSON incluido cuenta 5 añadidas, 4 eliminadas y 3 idénticas.

El algoritmo

Ambos textos se dividen en los saltos de línea. Después, la herramienta calcula la subsecuencia común más larga de las dos listas de líneas, como git diff: esas líneas se marcan como idénticas, las demás líneas del original se eliminan y las demás del texto modificado se añaden. Cuando se sustituyen líneas, las eliminaciones aparecen antes que las adiciones.

Ejemplo recalculado

En el JSON de ejemplo (7 líneas frente a 8), la llave de apertura, la línea "status": "active" y la llave de cierre son idénticas. Las líneas name, version, description y tools, modificadas, aparecen cada una como eliminación y luego como adición, y "theme": "dark" es una adición pura: +5, −4, 3 idénticas. Otro caso: a, b, c, d frente a a, B, c, d, e da +2, −1 y 3 idénticas; con «Ignorar mayúsculas/minúsculas», b y B pasan a ser iguales y quedan +1 y 4 idénticas.

Opciones y límites

  • «Ignorar espacios en blanco» quita los espacios al principio y al final de la línea y reduce las series de espacios a uno solo; «Ignorar mayúsculas/minúsculas» compara en minúsculas.
  • La comparación se hace por línea completa: un solo carácter cambiado marca toda la línea, sin resaltado interno.
  • Un bloque insertado se reconoce: 11 líneas añadidas al principio de un texto de 15 dan 11 adiciones y 15 líneas idénticas. Límite: una vez descartados el principio y el final comunes, si la zona que difiere supera unos 10 millones de celdas (líneas del original × líneas de la versión modificada, es decir, unas 3160 líneas por lado), se muestra en bloque, todas sus líneas como supresiones y luego como adiciones, incluso las que no han cambiado. Un bloque movido aparece eliminado en su posición anterior y añadido en la nueva.

El botón «Intercambiar textos» (flechas dobles) intercambia el original y la versión modificada. La comparación se realiza en su navegador.

Preguntas frecuentes

¿Cómo comparo dos versiones de un archivo de código?

Pegue el original a la izquierda y la versión modificada a la derecha: la herramienta muestra en verde las líneas añadidas (+), en rojo las eliminadas (−) y el número de líneas idénticas. Con el ejemplo JSON incluido encuentra 5 añadidas, 4 eliminadas y 3 idénticas.

¿Por qué una línea modificada aparece como eliminada y añadida a la vez?

La herramienta compara líneas completas, no caracteres. Una línea en la que cambia una sola palabra ya no es igual a la anterior, así que cuenta como una eliminación (la antigua) seguida de una adición (la nueva). Cambiar "version": "1.0.0" por "2.0.0" suma por tanto +1 y −1 a los contadores.

¿Para qué sirve la opción «Ignorar espacios en blanco»?

Quita los espacios al principio y al final de cada línea y reduce cualquier serie de espacios a uno solo antes de comparar. Así, un código solo reindentado deja de aparecer como modificado.

¿Detecta la herramienta un bloque de líneas movido?

No: un bloque movido aparece eliminado en su posición anterior y añadido en la nueva. El resto del texto sigue bien alineado sea cual sea el tamaño del bloque, porque la herramienta calcula la subsecuencia común más larga de los dos textos, como git diff.

¿La herramienta es realmente gratuita?

Sí, todas las herramientas en Kristools son 100% gratuitas y accesibles sin registro.

¿Están protegidos mis datos?

Sí. Todo el procesamiento se realiza de forma segura y directa en tu navegador. No se envían datos personales a nuestros servidores.