Texto

Compara dos textos y descubre qué cambió

Pega la versión anterior arriba y la nueva abajo. La comparación se ejecuta mientras escribes y marca qué se eliminó, qué se agregó y qué palabras dentro de una línea modificada se movieron realmente.

Opciones de comparación

Ignorar los espacios también esconde los cambios de sangría, algo que importa en Python y YAML.

Resultado

0Agregadas
0Eliminadas
0Sin cambios
100%Similitud

Alinear los dos textos es la parte difícil

La forma obvia de comparar dos textos es recorrerlos a la vez y marcar cada línea en la que no coinciden. Inserta una sola línea al principio de un archivo y ese método reporta todas las líneas restantes como modificadas. Es correcto y es inútil.

Las herramientas de diff de verdad resuelven antes otro problema: encontrar la secuencia más larga de líneas que aparece, en el mismo orden, en los dos textos. Esa es la subsecuencia común más larga. Todo lo que queda fuera es una eliminación del lado izquierdo o una inserción del lado derecho, y la alineación sale de ahí.

La implementación de manual llena una tabla con una celda por cada par de líneas, así que tanto el tiempo como la memoria crecen con el producto de las dos cantidades de líneas. Git y la mayoría de los editores usan en su lugar el algoritmo de Myers, cuyo costo depende de la cantidad de diferencias y no del tamaño de los archivos — mucho más rápido en el caso normal, en el que dos versiones son casi iguales. Esta herramienta usa la tabla, con un atajo que hace casi todo el trabajo: las líneas idénticas del principio y del final se emparejan antes de construir la tabla.

Dónde se rinde

Si después de quitar el principio y el final comunes siguen difiriendo más de unas 1.500 líneas de cada lado, la tabla se vuelve demasiado grande y la herramienta deja de intentar alinearlas. Pasa a marcar todo el bloque central como eliminado y luego vuelto a agregar, y la nota debajo de los botones lo dice. Con ese volumen conviene usar git diff o una herramienta de merge de escritorio, no una caja de texto.

Los espacios son invisibles y decisivos

Dos líneas que se ven idénticas muchas veces no lo son. Windows termina las líneas con un retorno de carro seguido de un salto de línea; todo lo demás usa solo el salto de línea. Esta herramienta normaliza ambos a un salto de línea antes de comparar, así que un archivo pegado desde un editor de Windows nunca aparece como 100% distinto solo por eso.

Los espacios al final son el otro clásico. Ignorar espacios al principio y al final los resuelve, pero también esconde los cambios de sangría — y en Python, YAML o los Makefiles la sangría es el cambio que estabas buscando. Déjala desactivada cuando la estructura dependa de los espacios.

Un texto que termina con un salto de línea y otro que no lo hace se consideran idénticos aquí, porque el salto de línea final se lee como un terminador y no como una última línea vacía. Git es más estricto e imprime \ No newline at end of file. Si esa distinción importa para lo que estás haciendo, verifícala en otro lado.

El resaltado de palabras es una conjetura informada

Cuando una línea eliminada queda justo encima de una insertada, el mismo algoritmo se ejecuta otra vez sobre las palabras que hay dentro y sombrea solo las partes que realmente se movieron. Es mucho más fácil de leer que dos bloques macizos de rojo y verde.

Sigue siendo una conjetura. El emparejamiento se hace solo por posición — la primera línea eliminada con la primera insertada, y así sucesivamente. Reescribe un párrafo y reordena sus oraciones y el emparejamiento se vuelve un sinsentido. La herramienta se niega a resaltar cuando dos líneas emparejadas comparten menos de un tercio de sus caracteres, aproximadamente, lo que atrapa los peores casos pero no todos. Cuando el resaltado se vea mal, desactívalo y lee las líneas enteras.

Tres cosas que revisar antes de confiar en el resultado

Qué produce el botón de copiar

Copiar diff te da la forma conocida — un +, un - o un espacio al principio de cada línea — pero sin los encabezados de bloque @@ ni los nombres de archivo que lleva un diff unificado de verdad. Está pensado para pegarlo en un comentario de revisión o en un mensaje de chat. patch y git apply lo van a rechazar.

Preguntas frecuentes

¿Se sube mi texto a algún lado?

No. La comparación se ejecuta en JavaScript dentro de tu pestaña. No se envía nada a un servidor, no se guarda nada y cerrar la página descarta los dos textos. Puedes comprobarlo cargando la página y desconectándote de la red: la herramienta sigue funcionando.

¿Por qué dice que hay líneas distintas si se ven iguales?

Casi siempre es un carácter invisible: un espacio al final, un espacio de no separación, una comilla tipográfica o un tabulador donde esperabas espacios. Activa "Ignorar espacios al principio y al final" para descartar el primero. Si eso no lo arregla, la diferencia está dentro de la línea.

¿Puede comparar dos archivos en vez de texto pegado?

No directamente: no hay selector de archivos. Abre los archivos en cualquier editor y pega el contenido. Para archivos tan grandes que pegarlos resulte incómodo, una herramienta de diff local te va a servir mejor de todos modos.

¿Qué significa el porcentaje de similitud?

Es la proporción de líneas que coincidieron, contada sobre los dos textos: las líneas sin cambios por dos, divididas entre el total de líneas de ambos lados. Mide líneas enteras, así que cambiar una palabra en cada línea da 0% de similitud aunque los textos sean casi idénticos.

¿Puedo usar el resultado como archivo de parche?

No. El diff copiado tiene los prefijos de más y de menos pero no los encabezados de bloque, así que patch y git apply lo van a rechazar. Úsalo para comentarios de revisión y chats, y genera un parche de verdad con git diff cuando necesites uno que se pueda aplicar.

Última actualización 19 de septiembre de 2026