Comparador de texto (Diff)
Pega dos textos y verás las diferencias resaltadas.
Diferencia
- Pega el texto original en Texto A.
- Pega la versión modificada en Texto B.
- Elige Líneas para código/configuración o Palabras para prosa.
- Activa Ignorar espacios o Ignorar mayúsculas si los cambios invisibles añaden ruido.
- Lee la salida resaltada debajo: verde es añadido, rojo es eliminado.
¿Qué hace?
El comparador de texto compara dos fragmentos y muestra exactamente qué se añadió, eliminó o se mantuvo igual. El modo Líneas trata cada línea como una unidad — ideal para código y configuraciones donde suele cambiar toda la línea. El modo Palabras divide por espacios y es mejor para prosa, donde importan los cambios a nivel de token.
Ejemplo
Texto A:
function greet(name) {
console.log("Hello, " + name);
} Texto B:
function greet(name) {
if (!name) name = "world";
console.log(`Hello, ${name}!`);
} Diferencia en modo por líneas:
function greet(name) {
+ if (!name) name = "world";
- console.log("Hello, " + name);
+ console.log(`Hello, ${name}!`);
} Errores comunes y advertencias
Cuando dos líneas parecen idénticas pero el diff las marca como cambiadas, la causa casi siempre es un carácter invisible o una diferencia de mayúsculas. Sospechosos habituales.
- Finales de línea CRLF vs LF. Los archivos de Windows terminan con \r\n, los de Unix con \n. Incluso una diferencia de un carácter marca cada línea. Soluciónalo activando Ignorar espacios o normaliza con dos2unix o la configuración de tu editor.
- Espacios al final de línea. "foo " y "foo" se marcan distintos salvo que ignores espacios. Un guardado que elimine los espacios finales hará que cada línea tocada parezca cambiada.
- Tabuladores vs espacios. Un reformateo que cambia tabs por espacios (o viceversa) hace que cada línea indentada parezca distinta en modo estricto. Activa Ignorar espacios o reformatea ambos lados de la misma manera primero.
- Marca de orden de bytes (BOM). Los archivos guardados como UTF-8 con BOM empiezan con un invisible. Esa primera "línea" siempre aparecerá cambiada frente a un archivo sin BOM. Quita el BOM en tu editor o un editor hex antes de pegar.
- Comillas tipográficas o espacios no separables. Pegar desde un procesador de texto puede cambiar " por " o un espacio normal por uno no separable. Se ven iguales pero son puntos de código distintos. Normaliza a ASCII plano antes de comparar.
- Diferencias sólo de mayúsculas. API y api son cadenas distintas a menos que actives Ignorar mayúsculas. Las coincidencias siguen mostrando el texto original; solo se relaja la comparación.
Preguntas frecuentes
¿Cuál es la diferencia entre modo por líneas y modo por palabras?
El modo por líneas compara texto línea a línea — si cualquier carácter de una línea cambia, toda la línea se marca como eliminada en A y añadida en B. El modo por palabras divide por espacios y muestra un diff más detallado, mejor para prosa. Para código y configuración, el modo por líneas es casi siempre el adecuado.
¿Por qué líneas aparentemente idénticas aparecen como cambiadas?
Suele ser una de tres diferencias invisibles: finales de línea (CRLF en Windows vs LF en Unix), espacios finales, o una marca de orden de bytes (BOM) al inicio del archivo. Activa "Ignorar espacios" para las dos primeras. Para el BOM, abre el archivo en un editor hex o quita los bytes iniciales antes de pegar.
¿Compara carácter a carácter?
No. En modo por líneas compara por línea; en modo por palabras, por token separado por espacios. Los diffs a nivel de carácter producen salida ruidosa en la mayoría de textos reales. Si necesitas comparación por carácter en cadenas cortas, pégalas en modo por palabras — sin espacios, cada carácter es prácticamente su propio token.
¿Cuánto pueden ocupar las entradas?
El diff corre en memoria, así que el tope práctico es la RAM de tu navegador. Unos MB por lado funcionan bien; decenas de MB pueden congelar la pestaña brevemente porque renderizar el HTML resaltado es más lento que el diff. Para archivos muy grandes, usa GNU diff o git diff localmente.
¿Puedo ignorar mayúsculas o espacios en blanco?
Sí — hay interruptores en la barra. "Ignorar espacios" trata cualquier bloque de espacios como equivalente, útil para código reformateado. "Ignorar mayúsculas" trata "Hello" y "hello" como iguales. Las coincidencias muestran el texto original; solo se relaja la comparación.
¿Guardan el texto que pego en las dos cajas?
No. Nada de lo que pegas aquí — ni el "antes" ni el "después" — se conserva. Lo que compares se descarta en cuanto cierras o actualizas la página. Sin registros, sin analítica de tu contenido. Si quieres más seguridad, las herramientas de desarrollo de tu navegador te lo muestran.