Comparador de archivos grandes
Compara dos archivos locales grandes línea a línea o byte a byte, con opciones de espacios, finales de línea y codificación, y un informe descargable.
Tus datos de entrada y archivos no salen del navegador
Archivos
Archivo original
Cualquier archivo local. No sale de este dispositivo.
Archivo modificado
Cualquier archivo local. No sale de este dispositivo.
Ambos archivos se leen en un Web Worker en bloques de 1 MiB. De cada línea solo se guarda un hash, y el texto en pantalla se vuelve a leer de los archivos. Nada se sube ni se guarda.
Elige un archivo original y uno modificado para ver las líneas o rangos de bytes cambiados.
Informe
Hasta 10.000.000 de líneas por archivo. La memoria es de unos 8 bytes por línea, más hasta 9 durante el emparejamiento. Las líneas se emparejan por hashes tras aplicar las reglas de espacios y finales de línea. La tabla recorta una línea a 2.000 caracteres; el informe escribe líneas completas de hasta 16 MiB. El modo binario conserva 100.000 rangos.
En esta página
El Comparador de archivos grandes compara dos archivos locales demasiado grandes para un cuadro de texto: logs de varios gigabytes, exportaciones CSV, volcados SQL o compilaciones. Los archivos de texto se comparan línea a línea, los binarios byte a byte, y el resultado es una tabla virtualizada de cambios y un informe descargable.
Funcionalidad detallada
Ambos archivos se leen en bloques de 1 MiB dentro de un Web Worker. En lugar de guardar el texto, cada línea se convierte en un hash de 64 bits, así que un archivo ocupa unos 8 bytes por línea. Las opciones de espacios y finales de línea se aplican al calcular el hash: comparar exactamente, ignorar espacios al final, ignorar cambios en la cantidad de espacios o ignorarlos todos; CRLF y LF pueden contar como el mismo final de línea. UTF-8 y UTF-16 se procesan como caracteres Unicode, de modo que el mismo texto guardado en ambas codificaciones coincide. Las codificaciones heredadas como Windows-1251 o Shift_JIS se comparan por sus bytes.
El emparejador de líneas primero omite el principio y el final comunes, luego se ancla en las líneas que aparecen exactamente una vez en ambos archivos (patience diff) y alinea los huecos con el algoritmo de Myers. Un hueco que tardaría demasiado se muestra como un único bloque de reemplazo, y la página lo indica. Solo se vuelven a leer de los archivos las filas visibles, así que desplazarse por millones de líneas cambiadas sigue siendo ligero.
El modo binario compara los bytes por bloques y lista cada rango distinto con su desplazamiento, longitud y los primeros 16 bytes de cada lado; una diferencia de tamaño se convierte en el último rango. El informe de texto es un unified diff (.diff); el binario es un CSV. Ambos se escriben en streaming al archivo elegido.
Ejemplos prácticos
Dos archivos de log: un log de 2 millones de líneas frente a una copia donde 40 líneas cambiaron de nivel de INFO a WARN muestra 40 líneas eliminadas y 40 añadidas en bloques separados, cada uno con tres líneas de contexto.
Copias de Windows y Unix: un archivo CRLF frente a su copia LF no muestra diferencias mientras la opción de finales de línea esté activa; desactívala y todas las líneas difieren.
Sangría reformateada: elige Ignorar cambios en la cantidad, y las líneas que solo difieren en espacios o tabulaciones entre palabras se tratan como iguales.
Imágenes de firmware: en modo binario, dos compilaciones que difieren en una cadena de versión y una suma de comprobación muestran dos rangos cortos con los bytes antiguos y nuevos en hex.
Cómo usar esta herramienta
Elige los archivos
Arrastra o elige el archivo original y el modificado. La comparación empieza en cuanto ambos están seleccionados.
Ajusta las opciones
Elige Detectar, Líneas de texto o Bytes binarios, la codificación, la regla de espacios y si cuentan los finales de línea. Pulsa Comparar para volver a ejecutar con las nuevas opciones.
Revisa los cambios
El resumen cuenta las líneas eliminadas y añadidas y los bloques. Usa Cambio anterior y Cambio siguiente para saltar entre bloques, y cambia Líneas de contexto para mostrar más o menos líneas sin cambios a su alrededor.
Descarga el informe
Descarga un unified diff para texto o un CSV de rangos de bytes para archivos binarios.
Consejos y mejores prácticas
- Detectar cambia a binario cuando alguno de los archivos tiene un byte NUL en sus primeros 8 KiB, salvo que empiece con un BOM de UTF-16.
- Las líneas se comparan por hash. Que dos líneas distintas tengan el mismo hash de 64 bits es extremadamente improbable, y la tabla siempre muestra el texto real.
- Los bloques de texto reordenados aparecen como una eliminación y una adición, como en diff -u.
- Cancelar detiene el proceso al instante; los archivos siguen seleccionados.
- Para un vistazo rápido a dos fragmentos cortos, el Visor de diferencias de texto resalta las palabras cambiadas dentro de las líneas.