Comparar textos
El comparador de diferencias es un motor de comparación de texto rápido y del lado del cliente que ejecuta el algoritmo de diferencias de Myers directamente en tu navegador. Admite granularidad de línea, palabra y carácter, vistas unificadas y lado a lado, opciones de normalización de espacios en blanco y de mayúsculas/minúsculas, y generación instantánea de parches diff unificados sin ninguna transmisión externa por la red.
¿Cómo funciona Comparar textos?
El motor de diff de texto de ToolsByUs se basa en el artículo seminal de Eugene W. Myers "An O(ND) Difference Algorithm and Its Variations" . El algoritmo modela el problema de calcular el script de edición más corto (SES) como hallar el camino más corto en un grafo de edición que va desde las coordenadas (0, 0) hasta (N, M).
Al rastrear los caminos que llegan más lejos a lo largo de las diagonales k = x - y para cada distancia de edición D, el diff de Myers descubre el número mínimo de inserciones y borrados necesarios para transformar el texto original en el texto destino. Cuando se aplica al nivel de palabra , el motor realiza un diff secundario sobre las líneas modificadas para aislar con precisión los borrados e inserciones a nivel de palabra.
A diferencia de las herramientas del lado del servidor, que transmiten tus archivos fuente, tus configuraciones propietarias o tus registros confidenciales a una base de datos remota, ToolsByUs ejecuta toda la matriz de edición de Myers directamente en la memoria local del navegador.
Muestra original frente a la modificada
// Original: const port = 8080; // Modified: const port = 3000;
Salida de ejemplo
// Unified Diff: @@ -1,1 +1,1 @@ -const port = 8080; +const port = 3000;
Muestra original frente a la modificada → Salida de ejemplo
Muestra original frente a la modificada
server: host: localhost port: 8080 timeout: 30
Muestra original frente a la modificada 2
server: host: 0.0.0.0 port: 8080 timeout: 60 retries: 3
Salida de ejemplo
--- a/original +++ b/modified @@ -1,4 +1,5 @@ server: - host: localhost + host: 0.0.0.0 port: 8080 - timeout: 30 + timeout: 60 + retries: 3
¿Qué opciones y casos límite admite Comparar textos?
| Parámetro | Tipo | Valor predeterminado | Comportamiento y casos límite |
|---|---|---|---|
| Granularidad: línea | Modo | Predeterminado | Divide el texto en los saltos de línea. Ejecución rápida O(ND) ideal para código, configuraciones y scripts. |
| Granularidad: palabra | Modo | Opcional | Divide las líneas en tokens de palabras. Las líneas modificadas resaltan inserciones y eliminaciones a nivel de palabra. |
| Granularidad: carácter | Modo | Opcional | Divide las cadenas en unidades de caracteres individuales. Localiza errores tipográficos, hashes y cadenas base64. |
| Ignorar espacios en blanco | Conmutador | false | Normaliza espacios y tabulaciones consecutivos para que los ajustes de sangrado no activen cambios. |
| Ignorar mayúsculas y minúsculas | Conmutador | false | Compara el texto sin distinguir mayúsculas y minúsculas, útil para consultas SQL, cabeceras HTTP o etiquetas HTML. |
| Exportación de diff unificado | Formato | Estándar | Exporta el formato de diferenciación unificada estándar, compatible con git apply, patch(1) y herramientas de revisión. |
Preguntas frecuentes
¿Cómo funciona el algoritmo de diff de Myers?
El algoritmo de diff de Myers encuentra la secuencia más corta de adiciones y borrados que convierte la secuencia A en la secuencia B. Funciona explorando caminos diagonales a través de una cuadrícula de edición, y garantiza que la salida diff resultante sea matemáticamente mínima.
¿Puedo exportar un archivo de parche diff unificado?
Sí. Pulsar «Exportar parche unificado» produce un documento de parche unificado estándar, con cabeceras '---' y '+++' y rangos de hunk '@@ -start,len +start,len @@', que se puede copiar o pasar directamente a las utilidades estándar patch de UNIX o git apply.
¿Cómo ayuda el diff a nivel de palabra en las revisiones de código?
Los diffs de línea estándar resaltan la línea entera aunque solo haya cambiado un carácter o el nombre de una variable. Nuestro motor de diff a nivel de palabra compara las líneas modificadas token por token y resalta únicamente los tokens concretos que se alteraron dentro de esa línea.
¿Se guardan o se almacenan en caché mis documentos en algún servidor?
No. ToolsByUs no tiene servidor de backend ni base de datos. Todos los cálculos de diff se ejecutan estrictamente dentro de tu navegador. Nunca se suben archivos, registros ni texto.
¿En qué se diferencian el diff de línea, el de palabra y el de carácter?
Un diff de línea marca la línea entera como cambiada en cuanto un solo carácter difiere, lo cual es correcto para prosa y equivocado para una línea de código donde se renombró una única variable. El modo palabra compara los tokens dentro de cada línea cambiada; el modo carácter baja hasta las letras individuales, que es lo que encuentra un carácter intercambiado en un identificador o un espacio de más en un valor de configuración.
¿Puedo comparar aquí código confidencial de un repositorio privado?
Sí, y puedes comprobarlo en lugar de confiar a ciegas. La comparación se ejecuta en esta pestaña; abre DevTools, cambia al panel Network, pega y compara, y no aparece ninguna petición que lleve tu texto. Una vez cargada, la página también funciona con la red desconectada por completo.
¿Qué herramientas relacionadas debería usar después?
- Comparar JSONCompara dos JSON ignorando el orden de claves y exporta parches
- Validar JSONValida la sintaxis con línea y columna exactas y repara los errores
- Formatear JSONIndenta, ordena claves y quita comentarios
- Codificar y decodificar Base64Decodifica y codifica Base64 estándar y URL-safe, con descarga binaria