Repáralo ahora
- Suelta el archivo
- La reparación ocurre en local
- Descarga el resultado
WinRAR, 7-Zip y el comando unzip de la línea de comandos generan todos alguna variante de "Unexpected end of archive" por la misma razón de fondo: leen el archivo esperando más bytes de los que realmente hay. La descarga se atascó, una copia desde una memoria USB se interrumpió antes de tiempo, o una sincronización en la nube se detuvo a medias. Suelta el archivo arriba y la herramienta inspecciona su estructura real en tu navegador — localiza las entradas que se escribieron por completo antes del punto de truncamiento y extrae esas, en lugar de rechazar todo el archivo porque le falta la cola.
Qué significa el error a nivel del formato de archivo
Un archivo ZIP no es un único bloque continuo — es una serie de entradas de archivo locales seguidas de un directorio central justo al final. Cada entrada empieza con la firma PK\x03\x04, lleva su propio nombre, método de compresión y tamaño, y a continuación los datos comprimidos (deflate). Después de la última entrada viene el directorio central (registros PK\x01\x02), y el archivo termina con el registro End Of Central Directory, PK\x05\x06. Ese EOCD es el índice: le dice al extractor cuántos archivos hay y dónde empieza cada uno.
Aquí está el truco. El índice vive al final del todo del archivo. Cuando una descarga o copia se interrumpe, la cola es justo lo que falta — así que el extractor busca donde debería estar el EOCD, encuentra datos (o nada) en lugar de la firma PK\x05\x06, e informa "Unexpected end of archive." El archivo no está revuelto; simplemente le falta su índice, y posiblemente el último archivo o dos.
RAR y 7z fallan de la misma manera por la misma razón. Un RAR mantiene cabeceras de bloque y, al final, un marcador de fin de archivo; un .7z mantiene su base de datos de cabeceras en la cola del archivo y normalmente comprime muchos archivos juntos en un único flujo sólido. En todos los casos, los metadatos que la herramienta necesita primero son los metadatos que un truncamiento destruye primero.
Qué sale aún, y cómo funciona el rescate
Como cada entrada ZIP se describe a sí misma, todo el directorio central es redundante para la extracción — es un índice, no los datos. La herramienta ignora el EOCD que falta y en su lugar recorre el archivo hacia delante desde el principio, capturando cada cabecera local PK\x03\x04 que encuentra y descomprimiendo el flujo deflate que le sigue mientras los bytes aguanten. Cualquier archivo que se escribiera por completo antes del corte vuelve intacto; el único archivo que quedó a caballo del punto de truncamiento puede volver parcial o no volver en absoluto. Esto se ejecuta como TypeScript puro en tu pestaña — sin instalar ninguna utilidad de archivos, sin enviar nada a ningún sitio.
RAR y 7z están más limitados pero no son un caso perdido. En un RAR, los archivos almacenados antes del truncamiento siguen decodificándose, y un RAR creado con un registro de recuperación se repara muchísimo mejor porque ese registro está diseñado para reconstruir los bloques que faltan. Un .7z es el caso frágil: sin registro de recuperación y con compresión sólida encadenando los archivos entre sí, perder la cola puede romper la descompresión de todo lo que viene después del último bloque completo. La herramienta rescata lo que permiten los bloques supervivientes y es honesta cuando un flujo sólido no se puede continuar.
El límite honesto: los bytes posteriores al corte se han perdido
Ningún software puede recuperar datos que nunca estuvieron en el archivo. Si la descarga se detuvo al 60 %, el último 40 % de los datos comprimidos no existe en tu disco, y nada — ni esta herramienta, ni la propia reparación de WinRAR, ni una suite de recuperación de pago — puede inventarlo de nuevo. La solución para eso es volver a descargar o a copiar el archivo desde el origen para tener los bytes completos.
Lo que sí podemos hacer de forma fiable es evitar que un archivo que llegó a medias sea una pérdida total. Si nueve de diez archivos llegaron antes de que se cayera la conexión, no hay razón para perder los nueve mientras se persigue el décimo. Y como toda la operación ocurre en tu navegador, un archivo que podría contener registros financieros, código fuente o documentos personales nunca se copia a un servidor desconocido solo para echar un vistazo dentro — puedes observar la pestaña Red y confirmar que no sale ni un byte.
Qué puede y qué no puede reparar
Puede reparar
- Un ZIP que perdió su directorio central / EOCD por una descarga truncada — las entradas anteriores al corte se extraen recorriendo las cabeceras locales
- Archivos individuales dentro de un ZIP descargado parcialmente que se escribieron por completo antes de que se cayera la conexión
- Archivos RAR en los que los archivos almacenados antes del punto de truncamiento aún se decodifican
- Archivos RAR que llevan un registro de recuperación (estos se reparan bastante mejor)
- Archivos 7z hasta el último bloque de compresión completo que sobrevivió
No puede reparar
- Cualquier archivo cuyos datos comprimidos estuvieran situados después del punto de truncamiento — esos bytes no están en tu disco
- Un flujo sólido 7z más allá de su último bloque intacto (los archivos posteriores de la cadena no se pueden descomprimir)
- Archivos que además están cifrados/protegidos con contraseña cuando no se proporciona la contraseña
- Una descarga tan corta que solo llegó un fragmento de la primera entrada
Si una reparación falla, te decimos por qué (datos que faltan frente a estructura dañada), y nunca se te cobra por una reparación fallida.