PK Systems
Herramientas de texto

Comparador de Textos

Compara dos textos y mira qué cambió. Granularidad por línea o palabra, vista en vivo, todo en tu navegador.

Comparador de Textos

Diferencias


    

¿Qué es un diff de texto?

Un diff (de diferencia) es un informe lado a lado de qué cambió entre dos textos. El uso clásico es en control de versiones — Git, SVN y similares usan diff para mostrar qué modificó cada commit — pero la misma idea sirve para revisar ediciones, comparar contratos, detectar pequeños cambios en archivos de configuración o comprobar que un documento sobrevivió íntegro a un copiar y pegar. Esta herramienta calcula el diff usando el algoritmo de la subsecuencia común más larga (LCS), la misma familia de técnicas que está detrás de git diff.

Cómo usarla

Pega la versión original en A y la modificada en B. El diff aparece en vivo debajo: en verde, las líneas (o palabras) añadidas en B; en rojo, las eliminadas de A; sin destacar, lo que se mantiene igual. Cambia entre granularidad por línea o por palabra — el diff por línea es mejor para código o texto estructurado, el diff por palabra se lee más fácil en prosa donde importan los cambios sutiles. Las estadísticas sobre el resultado muestran cuántos tokens se añadieron, eliminaron o quedaron iguales.

Cuándo usar línea o palabra

Diff por línea es el ajuste correcto para código, JSON, CSV, logs y cualquier cosa donde la estructura vive en la línea. Un cambio de un solo carácter aparece como una línea eliminada más una añadida — fácil de escanear y coincide con lo que muestran las herramientas de versiones. Diff por palabra brilla en prosa: resalta exactamente las palabras que cambiaron dentro del párrafo, así ves las ediciones sin releer todo. Evita el diff por palabra en documentos muy largos — el cálculo de LCS es cuadrático y se ralentiza por encima de unas cuantas miles de palabras.

Preguntas frecuentes

¿Mi texto se sube a algún sitio?
No. El diff entero se calcula en tu navegador. Puedes comprobarlo abriendo DevTools > Network y pegando tus textos — no se dispara ninguna petición. Esto hace que la herramienta sea segura para comparar contenido privado o sensible como contratos, código o archivos de configuración.
¿Cómo funciona el algoritmo de diff?
Construye una tabla LCS (subsecuencia común más larga) entre los tokens de las entradas y la recorre hacia atrás para producir un guion de edición — la misma técnica de Hunt-McIlroy que usa el diff clásico. Para entradas muy grandes (más de ~2.000 tokens por lado) la herramienta recurre a una comparación posición a posición, más rápida pero menos óptima.
¿Por qué a veces el resultado parece raro?
LCS elige la subsecuencia común más larga, que es matemáticamente óptima pero puede dar agrupaciones visualmente sorprendentes cuando hay muchos tokens cortos repetidos (líneas en blanco, palabras repetidas). Si ves agrupaciones extrañas, cambia de granularidad — los diffs por línea y por palabra rompen empates de forma distinta y casi siempre uno encaja mejor con tu intuición.
¿Y los espacios en blanco?
Los espacios cuentan. Espacios al final de línea, cambios de indentación y saltos CRLF frente a LF aparecen como diferencias. Si solo te interesan los cambios reales, normaliza ambos textos antes (recorta espacios sobrantes, unifica tabs y espacios, normaliza saltos de línea).
¿Puedo exportar el diff?
Aún no como un patch unified-diff — esta herramienta se centra en la comparación visual lado a lado. Para exportar un patch en formato unified, ejecuta diff -u a.txt b.txt en la terminal o usa git diff --no-index a.txt b.txt para una salida más rica, igual a la que muestra GitHub.
¿Por qué a veces los saltos de línea aparecen como cambios?
Distintos sistemas operativos usan convenciones distintas: Windows tradicionalmente usa \r\n (CRLF); Unix y macOS usan \n (LF). Cuando el texto se copia entre sistemas, los saltos se mezclan y el diff trata linea\r y linea como distintos. Pasa el texto por dos2unix o por un editor que normalice los saltos antes de comparar.