¿Qué es esta herramienta?
Una herramienta de comparación (dif) compara dos textos y muestra el conjunto mínimo de cambios necesarios para que uno se convierta en el otro. Así es como los sistemas de control de versiones, como Git, muestran los cambios en el código, y resulta igualmente útil para comparar archivos de configuración, contratos, artículos o cualquier par de versiones de cualquier cosa.
Esta herramienta compara línea por línea utilizando la misma familia de algoritmos subyacente (subsecuencia común más larga) que las utilidades clásicas de comparación, por lo que el resultado se lee como una revisión de código habitual: + para las líneas añadidas y − para las eliminadas.
¿Por qué utilizarlo?
- Comprueba qué ha cambiado realmente entre dos versiones, en lugar de compararlas a simple vista.
- Formato de salida habitual al estilo de Git: las adiciones en verde, las eliminaciones en rojo y las líneas de contexto entre ambas.
- Resumen del recuento de líneas añadidas y eliminadas de un solo vistazo.
- Funciona con cualquier tipo de texto: código, archivos de configuración, documentos, listas.
- Privado: ambos textos permanecen en tu navegador, no se sube nada.
Cómo utilizarlo
- Pega el texto original en el recuadro de la izquierda.
- Pega la versión modificada en el recuadro de la derecha.
- Haz clic en «Comparar».
- Fíjate en el resultado: se han añadido líneas verdes, se han eliminado las líneas rojas y las líneas normales no han cambiado.
Ejemplo
Entrada
Original:
line one
line two
line three
Changed:
line one
line 2
line threeResultado
line one
− line two
+ line 2
line threeSe ha modificado la línea del medio; tal y como muestra el diff, se ha eliminado la línea antigua y se ha añadido la nueva.
Casos de uso habituales
- Revisar un párrafo reescrito por la IA: pega el texto original y la versión de la IA para ver exactamente qué frases han cambiado, en lugar de volver a leerlo todo para detectar las modificaciones.
- Comparación de dos borradores de contrato: las modificaciones legales suelen ser más fáciles de revisar mediante la comparación de líneas que mediante el seguimiento de cambios cuando se ha modificado el formato del documento entre una versión y otra.
- Comprobación de un archivo de configuración tras una implementación: pega el contenido del archivo .env o YAML antes y después de la implementación para confirmar que solo han cambiado las líneas previstas.
- Comparación de las revisiones del texto traducido: comprueba qué líneas ha modificado realmente un traductor o un corrector entre un borrador y otro.
Limitaciones que hay que tener en cuenta
Se trata de una comparación a nivel de línea, no a nivel de palabra: si se desplaza un párrafo desde la parte superior de un documento hasta la parte inferior sin modificar su texto, se muestra como una eliminación completa más una adición completa, y no como una anotación de «desplazado». En textos con muchos párrafos, en los que solo cambian unas pocas palabras por frase, una herramienta de comparación a nivel de palabra resaltaría menos texto, pero la comparación a nivel de línea es el estándar para código, configuraciones y documentos estructurados, y es en lo que se centra esta herramienta.
Cómo funciona el algoritmo de comparación
La herramienta busca la subsecuencia común más larga (LCS) entre los dos textos: el conjunto más amplio de líneas que aparecen en el mismo orden relativo en ambas versiones, incluso si se han insertado o eliminado otras líneas entre ellas. Todo lo que forma parte de esa subsecuencia común se muestra como contexto inalterado; todo lo demás se clasifica como eliminado (presente solo en el original) o añadido (presente solo en la nueva versión). Se trata del mismo algoritmo básico que subyace a la utilidad «diff» de Unix y a la comparación línea por línea de Git, por lo que el formato de salida te resultará inmediatamente familiar si alguna vez has revisado una solicitud de incorporación de cambios.
Una consecuencia práctica: si una línea aparece duplicada en otra parte del documento (el mismo texto exacto aparece dos veces), el algoritmo la empareja con la aparición que mantenga la diferencia global más pequeña, lo que en ocasiones da lugar a un emparejamiento ligeramente diferente al que cabría esperar intuitivamente, aunque el recuento final de líneas añadidas o eliminadas siempre es exacto, independientemente de qué duplicado se haya emparejado con cuál.
Preguntas frecuentes
¿Se compara palabra por palabra o línea por línea?
Línea por línea, como en «git diff». Una línea modificada se muestra como una eliminación más una adición. Las comparaciones a nivel de línea son el estándar para el código y los archivos de configuración, y resultan legibles incluso en textos extensos.
¿Por qué un cambio mínimo hace que toda la línea aparezca como modificada?
Dado que la unidad de comparación es la línea, cualquier cambio en ella afecta a toda la línea. Divide los párrafos largos en líneas más cortas si necesitas un mayor nivel de detalle.
¿Importan los espacios en blanco?
Sí. Las líneas deben coincidir exactamente, por lo que un espacio al final o una sangría diferente hacen que las líneas se consideren distintas. Esto es intencionado: las diferencias en los espacios en blanco son diferencias reales en el código y en las configuraciones.
¿Hay algún límite de tamaño?
No hay un límite estricto, pero los textos muy extensos (decenas de miles de líneas) pueden tardar un poco, ya que la comparación se realiza de forma local en tu dispositivo.
¿Se han subido mis textos para compararlos?
No. El algoritmo de comparación se ejecuta íntegramente en tu navegador mediante JavaScript. Ambos textos permanecen en tu dispositivo, lo que garantiza la seguridad de los contratos, los documentos internos y el código aún no publicado.