Saltar al contenido

Comparador de textos (Diff)

Compara dos textos por línea, palabra o carácter y marca lo añadido y quitado. Puede ignorar espacios y mayúsculas; en pantalla ancha, en paralelo y numerados.

Comparar por

Los dos textos son idénticos.

Unificado

Lo que introduces se procesa solo en este navegador y nunca se envía a un servidor. Cómo funciona

Comparación de dos documentos: líneas eliminadas en rojo con signos menos y añadidas en verde con signos más

Cómo usarlo

Pega el texto de antes de la corrección en «Texto original» y el de después en «Texto modificado». En «Comparar por» elige una de las tres unidades, «Línea», «Palabra» o «Carácter», y aparecerá un resumen contado en esa unidad, por ejemplo «2 líneas añadidas», «1 línea eliminada», «2 líneas sin cambios», con el texto marcado debajo. Si no hay ninguna diferencia, en lugar del resumen se lee «Los dos textos son idénticos.».

«Ignorar espacios» e «Ignorar mayúsculas y minúsculas» dejan fuera del resultado lo que solo cambia de formato. «Borrar todo» vacía los dos cuadros de una vez.

Comparar por línea, palabra o carácter

  • Línea: basta con que cambie una letra para que la línea entera aparezca como eliminada y como añadida. Es la unidad adecuada para código, archivos de configuración y listas, donde cada línea es un elemento.
  • Palabra: marca solo las palabras que cambian, sin detenerse en los límites de línea. Una serie seguida de letras latinas, de cifras o de hangul cuenta como una palabra; los caracteres chinos y los kana, que se escriben sin espacios, se dividen como los separa la segmentación de palabras del navegador. En los navegadores que no tienen esa función, el hangul, los caracteres chinos y los kana se miran de uno en uno. Los espacios y los signos de puntuación son también una unidad cada uno.
  • Carácter: compara todos los caracteres uno a uno. Es la unidad para cazar erratas, signos de puntuación y hasta un espacio de más.

La misma corrección da cifras distintas en el resumen según la unidad. Este es el caso de cambiar «The quick brown fox jumps» por «The quick red fox leaps».

Comparar por Añadido Eliminado Sin cambios
Línea 1 línea 1 línea 0 líneas
Palabra 2 palabras 2 palabras 7 palabras
Carácter 5 caracteres 7 caracteres 18 caracteres

Las 7 palabras sin cambios de la unidad «Palabra» son las tres palabras The, quick y fox más los cuatro espacios que hay entre ellas. Con «Ignorar espacios» activada, los espacios no se cuentan y quedan 3 palabras sin cambios. La unidad «Carácter» da por iguales las letras que coinciden por casualidad, como la r que comparten brown y red; por eso, cuando cambian palabras enteras, el marcado queda hecho trizas y cuesta leerlo.

Ver los cambios de palabras: Lo más cómodo de leer es dejar la unidad en «Línea» y mirar la vista «En paralelo» en una pantalla ancha. Esa vista empareja las líneas cambiadas y, dentro de cada pareja, marca con un tono más intenso las palabras que difieren, tomando los espacios como separación. Si cambias «the quick brown fox jumps» por «the quick red fox jumps», solo se resaltan «brown» y «red». La unidad «Palabra» también compara palabra a palabra y no carácter a carácter, pero muestra el texto de corrido, sin números de línea y sin colocar a la misma altura las líneas que coinciden.

Ignorar espacios e Ignorar mayúsculas y minúsculas

Lo que «Ignorar espacios» pasa por alto depende de la unidad de comparación.

Comparar por Diferencias que ignora Diferencias que sigue marcando
Línea Los espacios al principio y al final de la línea El número de espacios en medio de la línea (a b y a b son líneas distintas)
Palabra El número y el tipo de espacios entre palabras (a lot y a lot son iguales) Las palabras escritas juntas o separadas (alot y a lot son distintas)
Carácter El tipo de espacio (una tabulación y un espacio son iguales) El número de espacios (a b frente a a b da 1 carácter eliminado)

Si en un código solo ha cambiado la sangría, actívala con la unidad «Línea» y esos cambios desaparecen. Para ver únicamente los cambios de contenido en un texto en el que solo ha cambiado el número de espacios o la posición de los saltos de línea, actívala con la unidad «Palabra».

«Ignorar mayúsculas y minúsculas» trata Hello y hello como iguales en las tres unidades. Las dos opciones se pueden activar a la vez.

Cómo leer el resultado

En una pantalla ancha se muestra la vista «En paralelo»; en una estrecha, la vista «Unificado». Se decide sola según el ancho de la pantalla, sin ningún botón para elegirla. Las dos vistas presentan la misma comparación con otra disposición.

  • En paralelo: a la izquierda va «Texto original» y a la derecha «Texto modificado». Con la unidad «Línea» cada línea lleva su número y las que se corresponden quedan a la misma altura. Si una línea solo existe en un lado, en el otro queda un hueco gris.
  • Unificado: funde los dos textos en uno y muestra lo eliminado y lo añadido en el orden del texto.

Con la unidad «Línea», las líneas eliminadas llevan delante un −, las añadidas un +, y cambia el color de fondo. Con «Palabra» y «Carácter», lo eliminado aparece tachado sobre fondo rojo y lo añadido subrayado sobre fondo verde. Como el color va siempre acompañado de un signo o de una raya, el resultado se puede leer aunque te cueste distinguir el rojo del verde.

El botón de copiar que hay junto al resumen copia el resultado como texto con marcas. Con la unidad «Línea», cada línea empieza por + (añadida), - (eliminada) o un espacio (sin cambios). Con «Palabra» y «Carácter», lo añadido va entre {+ +} y lo eliminado entre [- -]. Al copiar con la unidad «Palabra» el resultado de cambiar «the quick brown fox» por «the slow brown fox» se obtiene the [-quick-]{+slow+} brown fox.

Textos largos y textos muy distintos

Cuando los dos cuadros suman más de 200.000 caracteres aparece el aviso «La entrada es grande; la comparación puede tardar un poco.». La comparación se hace igualmente.

Más que la longitud, lo que pesa es cuánto se diferencian los dos textos. Si lo añadido y lo eliminado suman más de 4.000 unidades de la unidad elegida, o si el cálculo pasa de 1,5 segundos, la herramienta deja de buscar las partes cambiadas y muestra todo el original como eliminado y toda la versión modificada como añadida. En ese caso lo acompaña el aviso «La entrada era demasiado grande o demasiado distinta, así que se omitió la comparación detallada y se muestra todo el texto como reemplazado.». Un texto largo reescrito desde cero y comparado con la unidad «Carácter» alcanza ese límite con facilidad; cuando te pase, cambia a «Línea» o compara el texto por partes.

Preguntas frecuentes

Los dos textos parecen idénticos, pero sale «1 línea eliminada». ¿Por qué?

Porque solo uno de los dos termina en un salto de línea. Lo que queda detrás de ese último salto cuenta como una línea vacía, y esa línea aparece como eliminada o como añadida. Pon el cursor al final del cuadro y borra el salto de línea que sobra: el aviso pasará a ser «Los dos textos son idénticos.». Si lo que ves es «1 línea añadida» junto con «1 línea eliminada», puede que alguna línea lleve un espacio al final. En ese caso basta con activar «Ignorar espacios».

Solo he cambiado de sitio un párrafo y aparece como eliminado y añadido. ¿No se puede ver como un traslado?

No. La herramienta no reconoce el contenido que cambia de lugar: lo marca como eliminado en su sitio original y como añadido en el nuevo. Si las tres líneas a, b, c pasan a ser b, c, a, el resumen dice «1 línea añadida, 1 línea eliminada, 2 líneas sin cambios». Comprobar que la línea eliminada y la añadida dicen lo mismo es algo que tienes que hacer a ojo.

Software de código abierto utilizado: jsdiff (BSD-3-Clause)

Última actualización: