Compara dos versiones · Gratis

Comparador de textos

Compara dos versiones de un texto y ve cada línea añadida, eliminada o cambiada, con las palabras modificadas resaltadas dentro de las líneas editadas. Ignora mayúsculas, espacios o líneas en blanco, alterna entre las vistas lado a lado y unificada, y copia un parche unificado. Cada lado admite hasta 200,000 caracteres o 10,000 líneas, y la comparación se hace en tu navegador.

Se compara en tu navegador · No se sube nada
Informar de un problema

Espacio de trabajo para comparar textos

Los dos paneles están vacíos. Pega una versión en cada lado para compararlas.

Mesa de comparación

Pega las dos versiones

La antigua a la izquierda, la nueva a la derecha. Ambas se quedan en esta pestaña: el texto nunca se sube ni se guarda en ningún sitio.

0 líneas · 0 palabras · 0 caracteres
0 líneas · 0 palabras · 0 caracteres
Detalle dentro de una línea modificada
Umbral para emparejar líneas

Una línea eliminada y una línea añadida solo se comparan por dentro cuando la proporción de caracteres compartidos supera 0.30.

Tratar como iguales

Estas opciones cambian lo que cuenta como igual, nunca lo que se muestra. Cada carácter en pantalla y en el parche copiado es exactamente el que pegaste.

Sin diferencias
n/d

Pega una versión en cada panel y la comparación aparecerá aquí.

Líneas añadidas
0
Líneas eliminadas
0
Líneas modificadas
0
Líneas sin cambios
0
Palabras añadidas
0
Palabras eliminadas
0
Caracteres añadidos
0
Caracteres eliminados
0
La comparación

Lado a lado, en columnas emparejadas

Las adiciones llevan un signo más y un subrayado, y las eliminaciones un signo menos y un tachado, así que el resultado se entiende aunque se imprima en blanco y negro o se lea sin color.

Los dos paneles están vacíos. Pega una versión anterior a la izquierda y una más reciente a la derecha, o pulsa Cargar un ejemplo para ver un par de notas de la versión con todos los tipos de cambio a la vez: tres líneas reformuladas, una línea reescrita, una línea nueva, una línea en blanco nueva y un espacio final que nunca verías a simple vista hasta activar Mostrar invisibles.

Parche unificado

La misma comparación, como parche

Encabezados de bloque reales, líneas de contexto a cada lado y bloques fusionados cuando quedan cerca. Son las convenciones que usan git y GNU diff.

Aquí aparece un parche unificado en cuanto hay algo que describir.

Un bloque movido aparece dos veces

El script de edición tiene dos verbos, eliminar e insertar; no existe mover. Trasladar un párrafo se expresa como su desaparición aquí y su llegada allí, y por eso una sola acción produce dos bloques de color.

Lo más corto no es único

Comparar "a b c" con "a c b" tiene dos respuestas igual de cortas, y cada herramienta elige una por convención. Cuando un diff culpa a una línea que no tocaste, normalmente ha elegido otra explicación del mismo cambio.

A veces los espacios son lo importante

Ignorar el espaciado es correcto para la prosa y el código reformateado. Es un error para Python, YAML y los Makefiles, donde la sangría y una tabulación literal son sintaxis. Ahí, un cambio solo de espacios es el cambio.

Los dos textos se quedan en esta pestaña. La comparación es JavaScript simple que se ejecuta en tu propio equipo: el texto nunca se sube ni se envía a ningún sitio, y no se guarda ninguna copia, así que un contrato, un borrador o un archivo de configuración con una clave dentro está tan seguro aquí como en tu editor. Cada lado admite hasta 200,000 caracteres o 10,000 líneas; más allá de los límites de búsqueda, una región se muestra como un bloque sustituido por otro y la página lo indica en lugar de fingir que la respuesta es mínima.

Cómo funciona

Dos textos y la historia más económica que los conecta.

Un diff no es una lista de diferencias; es el conjunto más corto de eliminaciones e inserciones que convierte el primer texto en el segundo. La distinción es real. Explica por qué un párrafo movido aparece dos veces, por qué una línea editada es técnicamente una eliminación junto a una adición, y por qué dos herramientas distintas pueden discrepar sobre el mismo cambio y tener razón las dos. Esta página aplica el algoritmo de Myers a las líneas, refina cada par modificado por dentro y muestra su razonamiento, incluidos los momentos en que tuvo que conformarse con una respuesta menos detallada.

  1. 01

    Pega las dos versiones

    Pega el original a la izquierda y la versión revisada a la derecha, o carga el ejemplo. Si están al revés, intercambia los lados. Los dos textos se comparan en tu navegador y no se suben.

  2. 02

    Decide qué cuenta como diferencia

    Trata como iguales las mayúsculas, todos los espacios, los espacios al inicio y al final o las líneas en blanco, y elige el detalle Línea, Palabra o Carácter para las líneas cambiadas. Estas opciones cambian lo que se compara, nunca el texto que pegaste.

  3. 03

    Lee el resultado o copia el parche

    Lee los cambios lado a lado o en vista unificada, con el recuento de líneas y palabras añadidas y eliminadas y un grado de similitud. Después copia el parche unificado con hasta 10 líneas de contexto.

Para borradores, contratos, configuraciones y revisiones de código

Scripts de edición mínimos, detalle por palabras y un parche que de verdad se aplica.

El script de edición más corto, no una primera aproximación

La comparación usa el algoritmo de Myers, que encuentra un script de longitud mínima en lugar de la primera alineación plausible, así que mover una frase no hace que todas las líneas siguientes aparezcan como modificadas. Los inicios y finales comunes se eliminan antes incluso de empezar la búsqueda, y por eso una edición de una palabra en un documento largo se resuelve al instante.

Dos niveles, para que una palabra se lea como una palabra

Primero se comparan las líneas; después, una línea eliminada que queda frente a una línea añadida se vuelve a comparar por dentro. Cambia "martes" por "jueves" y obtienes una palabra resaltada, no un párrafo entero tachado. Esa segunda pasada depende de cuánto se parezcan las dos líneas, así que las líneas que de verdad no tienen relación no se fuerzan a un emparejamiento falso.

Opciones que cambian la comparación, nunca tus caracteres

Ignorar mayúsculas o espacios funciona comparando copias normalizadas mientras se muestran los originales. Cada carácter en pantalla y en el parche copiado es exactamente el que pegaste: ninguna línea se recorta, se pasa a minúsculas ni se vuelve a sangrar en silencio por el camino.

Un parche unificado con encabezados de bloque reales

El panel del parche genera encabezados `@@ -a,b +c,d @@` correctos, con un número configurable de líneas de contexto, bloques fusionados cuando quedan cerca y un recuento de uno escrito sin su coma. Son las mismas convenciones que usan git y GNU diff, así que el resultado se pega directamente en una revisión.

Cifras con la fórmula incluida

Líneas añadidas, eliminadas, modificadas y sin cambios; palabras y caracteres ganados y perdidos; y un porcentaje de similitud que indica cómo se obtuvo en lugar de pedirte que confíes en él. Las estadísticas siempre se miden a nivel de palabra, así que cambiar cómo se dibuja una línea modificada nunca las altera.

Se simplifica donde de otro modo se colgaría

Comparar dos textos sin nada en común es un trabajo cuadrático, así que tanto la distancia de edición como el esfuerzo total de búsqueda tienen un tope. Pasado el tope, una región se muestra como un bloque sustituido por otro (sigue siendo correcto, aunque ya no es mínimo), y la página avisa de que ha ocurrido en lugar de ofrecer en silencio una respuesta peor.

Preguntas sobre diffs

Bloques movidos, finales de línea invisibles y lo que te dice la línea @@.

¿Cómo comparo dos textos para ver las diferencias?+

Pega la versión anterior en Original y la nueva en Revisado; la comparación se actualiza mientras escribes. Las líneas eliminadas llevan un signo menos y tachado, las añadidas un signo más y subrayado, y cuando una línea editada se parece lo suficiente a su versión anterior, solo se resaltan las palabras que cambiaron.

¿Puedo comparar dos documentos de Word o PDF?+

Sí, pegando su texto. El comparador trabaja con texto plano, no con archivos, así que copia el texto de cada documento y pega uno en cada panel. No se comparan fuentes, negritas ni maquetación. El texto copiado de un PDF puede cortar las líneas en otros puntos, lo que aparece como líneas cambiadas, así que copia las dos versiones de la misma manera.

¿Se sube o se guarda mi texto en algún sitio?+

No. La comparación se ejecuta como JavaScript en esta pestaña, así que un contrato, un borrador o un archivo de configuración con una clave no se sube, y la página no guarda ninguno de los dos textos. Al vaciar los paneles o cerrar la pestaña, ambos se descartan.

¿Por qué un párrafo que moví aparece como eliminado y añadido?+

Un diff solo tiene dos operaciones, eliminar e insertar, así que mover un bloque aparece como su eliminación en la posición antigua y su llegada a la nueva. Este comparador no detecta movimientos. Para que la revisión sea legible, mueve la sección en una versión y cambia su redacción en la siguiente.

¿Por qué dos textos que parecen idénticos muestran diferencias?+

Normalmente por caracteres invisibles: espacios al final, tabulaciones en lugar de espacios o un espacio de no separación pegado desde una web. Activa Mostrar invisibles para ver espacios y tabulaciones, o trata los espacios como iguales. Los distintos finales de línea (CRLF de Windows frente a LF de Unix) no crean cambios falsos aquí; la página solo indica que difieren.

¿Cuándo debo ignorar los espacios en blanco?+

Ignóralos en prosa o en código reformateado, donde una nueva sangría o los espacios finales inundarían el resultado. Tenlos en cuenta cuando el espaciado es sintaxis, como la sangría de Python y YAML o las tabulaciones de un Makefile. Espacios al inicio y al final solo perdona los extremos de cada línea y sigue mostrando la sangría; Todos los espacios perdona cada espacio y tabulación.

¿Qué significa la línea @@ del parche unificado?+

Es una cabecera de bloque que indica a un programa de parches dónde va el bloque. @@ -12,7 +12,9 @@ significa siete líneas desde la línea 12 del original y nueve desde la línea 12 de la revisión, contando las líneas de contexto sin cambios. Debajo, un espacio marca una línea sin cambios, un signo menos una eliminada y un signo más una añadida.

¿Qué longitud pueden tener los dos textos?+

Cada lado admite hasta 200,000 caracteres o 10,000 líneas, aproximadamente un manuscrito de 40,000 palabras. Si los textos difieren en más de 12,000 ediciones de línea o la búsqueda alcanza su límite de esfuerzo, una región se muestra como un bloque sustituido por otro y la página lo indica. El resultado sigue siendo correcto, solo que menos detallado.

Más herramientas especializadas, listas cuando las necesites.

Explora una colección cada vez más amplia para cálculos, documentos, escritura y el trabajo diario.

Ver todas las herramientas