Ir al contenido
Español
El banco de trabajoHerramientas que no suben nada
Un taller de la asociación ODERSANada sale, nada se guarda, nada nos llega.

El taller · Zip y unzip

Cómo funciona : Zip y unzip

El navegador sabe comprimir, pero no sabe ni calcular un CRC-32 ni escribir un contenedor zip: esas dos piezas están escritas a mano aquí, y el archivo producido se VUELVE A ABRIR con nuestro propio lector antes de dárselo.

Abrir la herramienta

Comprimir tres archivos para adjuntarlos a un correo es un gesto corriente, y sin embargo es uno de los casos en los que los sitios en línea son más indiscretos: reciben todo lo que usted quería enviar, a menudo documentos administrativos o fotos de familia. El navegador, en cambio, sabe hacerlo todo sin enviar nada.

Sabe comprimir y descomprimir con la función llamada deflate en bruto desde Chrome 103, Firefox 113 y Safari 16.4. En cambio no sabe ni calcular el código de verificación que un archivo zip exige para cada una de sus entradas, ni escribir el contenedor en sí. Esas dos piezas están escritas a mano dentro de esta herramienta, copiadas de nuestro generador de iconos, que ya las tenía: no reinventamos un formato que ya hemos escrito aquí.

Y la herramienta se relee. Después de fabricar su archivo comprimido, lo VUELVE A ABRIR con su propio lector, descomprime cada entrada y RECALCULA su código de verificación. Un comprimido que ningún programa supiera abrir sería un resultado falso, y sin esa relectura sería usted quien se daría cuenta, delante de su destinatario.

Cómo funciona

  1. Para comprimir, suelte varios archivos de una vez: la herramienta los enumera, los comprime uno a uno y le devuelve un zip.
  2. Para abrir, suelte un solo archivo comprimido: la herramienta enseña qué contiene, con el tamaño real de cada entrada, y usted elige qué extrae.
  3. El sentido se deduce solo, no de la extensión sino de los primeros bytes del archivo: una extensión se cambia de nombre, una firma no.

Formatos aceptados

Cualquier archivo para fabricar un comprimido; un solo archivo zip para abrirlo. El modo se deduce de los CUATRO PRIMEROS BYTES del archivo que suelte, no de su nombre.

Cualquier archivo, para comprimir

Suelte todos los que quiera de una vez. Cada uno se comprime por separado, y la compresión solo se usa cuando de verdad gana sitio: en un JPEG o en un PDF ya comprimido devolvería un flujo MÁS GRANDE, y entonces la entrada se guarda tal cual.

Un archivo zip, para abrirlo

Se leen las entradas guardadas y las entradas comprimidas en deflate, cosa que cubre prácticamente todos los comprimidos reales. Las entradas CIFRADAS se nombran y se dejan a un lado, y los comprimidos en formato Zip64 se rechazan diciéndolo. El umbral viene del documento de referencia del formato: más de 65 535 entradas, o un tamaño por encima de cuatro gigabytes.

Ver la matriz de compatibilidad

Sus límites

200 MB por archivo

La compresión del navegador trabaja en memoria, y el comprimido entero tiene que caber ahí a la vez que los archivos originales. Por encima, un móvil que se queda sin memoria hace caer la pestaña en vez de devolver un resultado: el límite se anuncia, y la herramienta se niega con claridad.

Un comprimido protegido con contraseña no se abre aquí, y nosotros no fabricamos ninguno

Hay dos razones distintas. Al abrir: el cifrado histórico del formato zip tiene fama de débil, y el cifrado moderno de los comprimidos es una extensión propietaria de la que conviven varias variantes; preferimos nombrar las entradas cifradas y dejarlas a un lado antes que descifrar la mitad. Al escribir: para proteger un archivo, la herramienta «Cifrar un archivo» del rincón de la seguridad lo hace mejor, con un método enseñado por entero y seiscientos mil pasos de fabricación de clave, cosa que no hace ningún zip.

Los comprimidos Zip64 se rechazan, y se dice

Por encima de 65 535 entradas o de cuatro gigabytes, el formato guarda sus contadores en un registro adicional, y los campos de siempre se saturan en su valor máximo. Nosotros no leemos ese registro: en vez de devolver un comprimido leído a medias, la herramienta dice que no sabe leerlo. Un comprimido de ese tamaño se pasa de todas formas del límite de peso.

Una descarga no puede volver a crear carpetas

El navegador baja archivos, no árboles de carpetas. Así que una entrada guardada dentro de una subcarpeta sale con su ruta aplanada dentro del nombre, y la herramienta lo dice. Eso es además lo que neutraliza la trampa de las rutas que suben fuera de la carpeta de extracción: quitamos los tramos que suben y lo avisamos, en vez de confiar en que el navegador nos proteja.

Extraer varias entradas exige un permiso al navegador

Al segundo archivo descargado de un mismo gesto, Chrome pide la autorización de «descargar varios archivos»: su código fuente pone el límite en cincuenta descargas simultáneas y recuerda su respuesta hasta que cambie de dirección. Firefox intentó construir la misma barrera y nunca la entregó, y su propio seguimiento de errores lo dice. De Safari no hemos encontrado ninguna fuente de primera mano. Esto no se puede esquivar y no buscamos esquivarlo: los envíos van separados 350 milisegundos, y usted siempre puede extraer solo una entrada cada vez.

Los comprimidos que escribimos no llevan ninguna fecha

Un zip guarda normalmente la hora de cada entrada. Sería el único dato sobre usted que el archivo transportaría, cuando ni el destinatario ni el formato lo necesitan. Así que escribimos la fecha más antigua que el formato permite, el 1 de enero de 1980: dos comprimidos hechos con los mismos archivos salen idénticos byte a byte. Es la misma decisión que con el comprimido de iconos del rincón de las imágenes.

Preguntas sobre esta herramienta

¿Mis archivos se envían a alguna parte?

No. Abra el inspector con la tecla F12, pestaña «Red», vacíe la lista, y después suelte sus archivos y fabrique el comprimido: no sale nada. Corte su conexión y vuelva a hacerlo, y la herramienta sigue funcionando. Es lo más importante en una herramienta de compresión, porque ahí se suelta normalmente todo lo que uno se disponía a enviar.

¿Por qué mi comprimido pesa casi lo mismo que mis archivos?

Porque lo más probable es que sus archivos ya estén comprimidos. Una foto en formato JPEG, un PDF, un vídeo, un archivo de ofimática moderno: todos llevan ya compresión dentro, y ya no queda nada que ganar. La herramienta se lo dice línea a línea, y guarda esos archivos tal cual en vez de hacerlos CRECER, que es lo que pasaría al comprimirlos por segunda vez. Lo que se comprime bien es el texto, las hojas de cálculo antiguas, los archivos de código y las imágenes sin pérdida.

¿Qué hace exactamente la relectura de la que habla la página?

Después de escribir el comprimido, la herramienta lo vuelve a abrir con su propio lector, como haría otro programa: encuentra el catálogo, recorre las entradas, descomprime cada una y recalcula su código de verificación a partir de los bytes obtenidos. Un comprimido puede tener una estructura impecable y un código de verificación falso: entonces pasaría todos los controles de forma, y fallaría en casa de su destinatario. Es la misma exigencia que en todo este sitio: se relee el archivo producido, no se le cree a la herramienta bajo palabra.

¿Por qué los archivos extraídos no traen sus carpetas?

Porque un navegador baja archivos, no árboles de carpetas: no tiene ninguna forma de crear una carpeta en su dispositivo, y es una buena cosa. Así que una entrada guardada dentro de una subcarpeta sale con su ruta aplanada dentro del nombre, cosa que conserva la información sin inventarse una estructura. Eso también deja inofensiva una vieja trampa de los comprimidos: una entrada cuya ruta sube fuera de la carpeta de extracción no puede escribir en ninguna otra parte, y aun así nosotros le limpiamos el nombre.

¿Por qué el navegador me pide permiso cuando extraigo varios archivos?

Porque un sitio que dispara varias descargas de un solo clic es un comportamiento del que los navegadores desconfían, y con razón. El permiso de «descargar varios archivos» se pide una vez, y darlo aquí no tiene riesgo, porque los archivos vienen de su propio comprimido. Nosotros separamos los envíos trescientos cincuenta milisegundos, cosa que evita que se anulen entre sí, y usted siempre puede extraer solo una entrada cada vez.

¿Pueden añadir la protección con contraseña?

No lo tenemos previsto, y por una razón de fondo. El cifrado histórico de los comprimidos zip tiene fama de débil desde hace mucho; el cifrado moderno es una extensión propietaria del formato, con varias variantes y diferencias entre programas. Así que haríamos un trabajo pesado para entregar una protección de la que no podríamos decir honestamente que es sólida. La herramienta de cifrado del rincón de la seguridad resuelve el problema de verdad: enseña su método completo, usa seiscientos mil pasos de fabricación de clave, y el archivo resultante se descifra en la misma página.

¿Puedo añadir un archivo a un comprimido que ya existe?

Directamente no: la herramienta abre un comprimido o fabrica uno, pero no lo modifica. El camino es extraer lo que le interese y volver a soltarlo todo con el archivo de más. Es un gesto más, pero evita toda una clase de sorpresas desagradables: un comprimido modificado sobre la marcha puede conservar rastros de su contenido anterior, y una herramienta que promete «actualizar» un comprimido sin reescribirlo entero no está tan limpia como parece.