Gliora

Comparar textos (diff)

Concepto de Herramientas de texto en Utilidades, conectado con sus herramientas y conceptos vecinos.

Actualizado el 16 de julio de 2026

Herramienta Comparar textos (diff) Diferencias entre dos textos, línea a línea. Abrir calculadora →

Un diff (de difference, diferencia) es la representación de los cambios entre dos versiones de un texto. Muestra qué se añadió, qué se eliminó y qué permaneció igual, de modo que puedes entender exactamente qué cambió sin comparar los documentos completos línea a línea.

Tipos de diff y cuándo usar cada uno

TipoGranularidadCaso de uso ideal
Diff de líneasLínea completaCódigo fuente, archivos de configuración
Diff de palabrasPalabraArtículos, documentos legales, contratos
Diff de caracteresCarácterCadenas muy similares, campos de formulario
Diff semánticoPárrafo o bloqueComparar secciones enteras de un documento largo

Cómo leer un diff en formato unificado

El formato de git diff y de la mayoría de herramientas CLI usa este convenio:

@@ -1,4 +1,5 @@
 Línea sin cambios (contexto)
-Línea eliminada del original
+Línea añadida en la nueva versión
 Otra línea sin cambios
+Segunda línea añadida
  • - → línea del texto original que ya no está.
  • + → línea nueva que se ha añadido.
  • Sin prefijo → línea de contexto, presente en ambas versiones.
  • @@ -1,4 +1,5 @@ → el bloque empieza en la línea 1; en el original tiene 4 líneas, en el nuevo tiene 5.

El algoritmo LCS explicado

El algoritmo de Longest Common Subsequence (secuencia común más larga) resuelve la pregunta: ¿cuál es la secuencia más larga de elementos que aparece en el mismo orden en ambos textos? Todo lo que no forme parte de esa secuencia es un cambio. Para dos textos de n y m líneas, la complejidad es O(n·m), lo que lo hace muy eficiente para ficheros de código de tamaño normal. Git añade heurísticas propias (el algoritmo «Myers» por defecto, con la opción --diff-algorithm=patience para casos complicados) para producir diffs más legibles.

Casos de uso habituales

  • Control de versiones de código: git diff HEAD~1 muestra los cambios entre el commit actual y el anterior.
  • Revisión de documentos legales: compara la versión original de un contrato con la versión negociada para ver exactamente qué cláusulas cambiaron.
  • Localización y traducciones: cuando cambia el texto fuente, el diff identifica los párrafos que hay que actualizar en cada idioma sin revisar el documento completo.
  • Comparación de configuraciones: detectar qué cambió entre el nginx.conf de staging y el de producción antes de un despliegue.
  • Detección de plagio: encontrar coincidencias literales entre dos textos con un diff inverso.

Herramientas de diff disponibles

  • En línea: pegas ambos textos y obtienes el resultado de inmediato. Útil para comparaciones puntuales sin instalar nada.
  • git: git diff, git diff --word-diff (diff por palabras), git diff --stat (solo resumen de ficheros y líneas).
  • Editores de código: VS Code, IntelliJ y Sublime Text tienen visor de diff integrado para comparar ficheros y commits.
  • Herramientas de escritorio: Meld (Linux), Beyond Compare, FileMerge (macOS) para comparación visual con edición en línea.

Para normalizar el caso del texto antes de comparar, usa el transformador de mayúsculas y minúsculas. Para contar cuántas palabras han cambiado, el contador de palabras te da el dato en ambas versiones por separado.

Conceptos relacionados

También en Herramientas de texto

Preguntas frecuentes

¿Qué es un diff de texto?
Es la representación de las diferencias entre dos versiones de un texto: muestra las líneas o palabras añadidas (en verde) y eliminadas (en rojo) sin necesidad de leer los dos documentos completos en paralelo.
¿Cuál es el algoritmo que usan los diff más comunes?
La mayoría implementan el algoritmo LCS (Longest Common Subsequence), que encuentra la secuencia común más larga entre dos textos y deduce los cambios a partir de lo que queda fuera de esa secuencia.
¿Qué diferencia hay entre un diff de líneas y uno de palabras?
El diff de líneas (el que usa git por defecto) marca toda la línea si cambia algo en ella. El diff de palabras señala exactamente qué palabras cambiaron dentro de la línea, lo que es más útil para comparar prosa.

Ver todas las herramientas de Utilidades.