Texto

Text Diff

Comparación de dos textos línea por línea — qué se añadió, eliminó o modificó, con resaltado a nivel de palabra en las líneas modificadas.


                        
                    

Text Diff compares two texts line by line and shows what was added, removed, or changed, with word-level highlighting inside changed lines — much like git diff, but without a command line.

How to use it

Common uses

Things to keep in mind

By default a whitespace-only change (like indentation) still counts as a difference, since it technically changes the line's content.

The diff compares lines by position, so adding or removing a single line near the top can shift how the rest of the text lines up.

Artículo sobre esta herramienta: Text Diff: cómo los algoritmos encuentran la diferencia entre dos textos

Preguntas frecuentes

¿Cómo se calcula la comparación?

La comparación ocurre línea por línea: cada línea se identifica como añadida, eliminada o cambiada, y dentro de las líneas cambiadas se resaltan las palabras exactas que difieren.

¿Cómo se muestran las adiciones, eliminaciones y cambios?

Las líneas añadidas y eliminadas se marcan como tales en el resultado, y las líneas cambiadas muestran resaltado a nivel de palabra para detectar de inmediato qué cambió sin releer toda la línea.

¿Se envían mis dos textos a un servidor?

No, la comparación se ejecuta enteramente en el navegador en JavaScript — no se envía contenido a ningún sitio.

¿Por qué insertar una sola línea muestra todas las siguientes como cambiadas?

El algoritmo no siempre reconoce sin errores que se trata justo de una inserción y no de un reemplazo masivo, sobre todo si las líneas circundantes se parecen entre sí. Los buenos algoritmos de diff intentan minimizar estos falsos positivos buscando la subsecuencia común más larga, pero no siempre es perfecto.

¿Se tienen en cuenta los espacios en blanco al comparar?

Sí, por defecto un cambio solo en los espacios en blanco (por ejemplo, en la indentación) también se marca como diferencia, ya que técnicamente es un cambio en el contenido de la línea.

Artículos: Texto

Case Converter: por qué existen distintos estilos de nomenclatura

Por qué un mismo proyecto escribe variables en camelCase pero archivos en kebab-case, y de dónde vienen estas reglas.

Expresiones regulares: sintaxis básica y patrones habituales

Cómo leer una expresión regular y en qué se diferencia la coincidencia voraz de la perezosa.

Ordenar y eliminar líneas duplicadas: para qué sirve

Por qué ordenar numéricamente poniendo «10» antes de «9» es un error, y cómo evitarlo.

String Escape: por qué el mismo texto necesita escaparse de forma distinta

Por qué la misma comilla se escapa de forma distinta en una cadena JS, en JSON y en un comando de shell.

CRLF frente a LF: por qué los caracteres de fin de línea aún importan

Por qué un archivo escrito en Windows puede aparecer como «completamente modificado» en git sobre Linux.

Contar caracteres y palabras: por qué no siempre es trivial

Por qué un emoji o una letra con tilde pueden contar como varios caracteres a la vez.

Lorem Ipsum: de dónde viene el texto de relleno y para qué sirve

Por qué los diseñadores usan deliberadamente texto «sin sentido» en lugar de contenido real en las maquetas.

Slugify: cómo convertir cualquier texto en una URL

Cómo un título como «¡Hola, Mundo!» se convierte en una cadena compatible con URL como hola-mundo.

Markdown: por qué la sintaxis de texto plano venció a los editores de texto enriquecido

Por qué los desarrolladores prefieren escribir documentación en Markdown en vez de un editor de texto enriquecido.

Espacios y caracteres invisibles: la causa oculta de errores extraños

Por qué dos cadenas que parecen idénticas pueden no coincidir por culpa de un carácter invisible.

Text Reverse: por qué «invertir un texto» es más difícil de lo que parece

Por qué invertir una cadena de forma ingenua puede convertir un emoji en bytes inutilizables.

Análisis de frecuencia de texto: para qué sirve contar repeticiones de palabras

Cómo la frecuencia de las letras en un texto cifrado ayuda a romper los cifrados de sustitución más simples.