tooly

Comparar textos (diff)

Pega dos versiones de un texto y ve exactamente qué cambió: lo añadido en verde, lo eliminado en rojo, con un recuento de cambios. Todo funciona en tu navegador.

Todo funciona en tu navegador — no se envía nada

Cómo se usa

  1. 1

    Pega el texto original a la izquierda y el modificado a la derecha.

  2. 2

    Cambia entre comparación por líneas o por palabras.

  3. 3

    Lee las diferencias resaltadas.

Cuándo compensa comparar dos textos

La mayoría de los cambios se vuelven invisibles una vez hechos. Leer dos versiones en paralelo es lento y poco fiable: es muy habitual pasar por alto una cifra cambiada en un precio, un «no» que desapareció o una fecha intercambiada.

Un diff hace esa búsqueda por ti. Casos típicos en los que ahorra tiempo de verdad:

  • Comprobar qué cambió la otra parte en un contrato, una oferta o unas condiciones antes de firmar.
  • Comparar dos exportaciones de la misma lista (correos, SKU, ID) para ver qué entradas aparecieron o desaparecieron.
  • Averiguar por qué dos archivos de configuración o dos archivos .env se comportan de forma distinta.
  • Revisar un artículo editado o una traducción frente al borrador original.

Cómo funciona la comparación

La herramienta usa un enfoque de subsecuencia común más larga, la misma familia de algoritmos que hay detrás de git diff y del clásico diff de Unix. Busca la mayor cantidad posible de texto que compartan ambas versiones, la deja como sin cambios y marca todo lo demás como eliminado del original o añadido en la versión nueva.

El resultado se recalcula mientras escribes o pegas, así que puedes corregir algo en cualquiera de los dos cuadros y ver el efecto al instante. Los fragmentos eliminados aparecen en rojo y tachados, los añadidos en verde, y el resto como texto normal en una fuente monoespaciada para que la alineación de código y tablas siga siendo legible.

El contador que hay encima del resultado significa cosas ligeramente distintas en cada modo:

  • En el modo Por líneas cuenta líneas: +4 / −2 significa que se añadieron cuatro líneas y se eliminaron dos. Una línea editada cuenta una vez como eliminada (la versión antigua) y otra como añadida (la nueva).
  • En el modo Por palabras cuenta fragmentos cambiados, no palabras sueltas. Una frase de seis palabras reescrita en un mismo lugar cuenta como una eliminación y una adición.

Por líneas o por palabras en la práctica

El modo por líneas trata cada línea como una unidad indivisible. Es el modelo adecuado para todo aquello en lo que las líneas tienen sentido por sí mismas: código fuente, filas de CSV, archivos de log, listas de nombres, configuraciones YAML o .ini. También es estricto: un espacio al final o un tabulador en lugar de espacios convierte la línea en otra distinta.

El modo por palabras divide el texto en palabras y signos de puntuación y compara esas piezas. Funciona mucho mejor con prosa, donde un párrafo entero suele ser una sola línea larga y un diff por líneas solo te diría «este párrafo cambió». Por palabras ves exactamente qué palabras se sustituyeron. Además es más tolerante: las diferencias que consisten solo en espacios en blanco, como un doble espacio entre frases, se ignoran en gran medida.

Una buena costumbre es empezar por líneas para ver dónde están los cambios y luego pasar a palabras para leer qué cambió exactamente dentro de una línea larga.

Cómo obtener resultados limpios y legibles

La mayoría de los diffs confusos se deben al ruido de formato, no a cambios reales. Antes de comparar conviene revisar algunas cosas:

  1. Saltos de línea y ajuste. El texto copiado de un PDF o de un correo suele traer saltos de línea forzados a mitad de frase. Si una versión está ajustada así y la otra no, el modo por líneas lo marcará todo como cambiado. Usa el modo por palabras o elimina antes esos saltos.
  2. Mayúsculas y minúsculas. La comparación distingue entre mayúsculas y minúsculas, así que «Factura» y «factura» son distintas. Si eso no te importa, normaliza ambos textos con el conversor de mayúsculas y minúsculas antes de pegarlos.
  3. Listas ordenadas y sin ordenar. Un diff tiene en cuenta el orden. Si dos listas contienen los mismos elementos en otro orden, mostrará los desplazamientos como eliminaciones y adiciones. Si solo te interesa qué elementos hay, ordena antes ambas listas del mismo modo.
  4. JSON y datos minificados. Un documento JSON minificado es una única línea enorme. Formatea las dos versiones con el formateador de JSON usando la misma sangría y compáralas por líneas; cada clave queda en su propia línea y los cambios saltan a la vista.
  5. Comillas tipográficas y guiones. Los procesadores de texto sustituyen " por comillas tipográficas y - por guiones medios. A simple vista parecen idénticos, pero son caracteres distintos y aparecen como cambios.

Tamaño y privacidad

Ambos textos se quedan en la página. No se envía nada a ningún servidor, así que comparar un contrato aún no publicado, código fuente interno o un archivo con datos de clientes no es distinto de comparar dos listas de la compra. Al cerrar la pestaña se descarta todo.

La velocidad depende de tu dispositivo y de lo diferentes que sean los textos. Unos pocos miles de líneas se comparan al instante; decenas de miles de líneas muy modificadas pueden tardar unos segundos. Si notas lentitud, compara solo la parte relevante o usa el modo por líneas, que tiene muchas menos unidades que emparejar que el modo por palabras.

Preguntas frecuentes

¿Se sube mi texto?

No. La comparación se ejecuta en tu navegador.

¿Líneas o palabras — cuál elijo?

Líneas para código, logs y listas; palabras para prosa donde una frase cambió ligeramente.

¿Importan los espacios?

Sí, por defecto cuenta cada carácter, así que los espacios finales aparecen como cambios.

¿Puedo comparar archivos?

Pega su contenido. Los archivos muy grandes (decenas de miles de líneas) pueden tardar un momento.

Herramientas relacionadas