ZIP

¿Qué es un archivo ZIP?

El formato de archivo comprimido que viene de serie en todos los sistemas operativos.

Qué es ZIP

ZIP es un contenedor: una envoltura para flujos que ha codificado otra cosa. Se usa para mover datos entre programas y entregar un archivo terminado.

La extensión es .zip y el nombre completo, ZIP Archive. Ambos importan menos que lo que el archivo puede contener, y de eso trata el resto de esta página.

De dónde viene ZIP

PKWARE lo publicó en 1989. La especificación es APPNOTE.TXT.

A un formato que lleva tanto tiempo siendo legible se le puede confiar algo que quieras recuperar dentro de diez años.

La especificación es pública

Está publicada entera, así que cualquiera puede implementarla leyendo el documento en vez de a base de inspeccionar archivos. Por eso aparece en tantos programas, y por eso los archivos escritos hace veinte años siguen abriéndose hoy. Publicada no quiere decir libre de regalías: cuando un formato envuelve un códec, la licencia de las patentes es un asunto aparte que la norma no resuelve.

No se tira nada

ZIP guarda su contenido exactamente. Volver a guardarlo no cambia nada, así que puedes abrirlo, editarlo y guardarlo tantas veces como quieras sin acumular daño; eso es lo que lo convierte en un formato de trabajo y no de entrega.

Puede contener una carpeta entera

ZIP guarda un directorio: nombres, carpetas y la estructura entre ellos. Eso es lo que le permite sustituir a una carpeta en un adjunto de correo.

De dónde sale su ratio de compresión

Trabaja por tramos de 32 KB: para que una repetición se pueda comprimir, tiene que caber entera dentro de uno.

Ese único número explica la mayor parte de la diferencia entre un formato de archivo comprimido y otro. Un tramo mayor encuentra más repetición y tarda más y gasta más memoria en hacerlo: ese es todo el intercambio.

Qué hace para protegerse

ZIP lleva una suma de verificación, para que un archivo dañado se detecte en vez de leerse mal en silencio y cifrado opcional.

Un archivo cifrado hay que abrirlo antes de que nada pueda convertirlo, aquí y en cualquier otro sitio. Una contraseña no es algo que un conversor pueda esquivar, y a uno que dijera lo contrario tampoco habría que confiarle el archivo.

Qué abre ZIP

Windows Explorer, Finder y 7-Zip lo leen, y también la mayoría de programas del mismo tipo.

Cuando un archivo no se abre, el formato rara vez es el problema: lo más habitual es que el programa sea anterior al formato. Convertir a algo más antiguo es la salida fiable, y para eso está el resto de este sitio.

Abrirlo en el navegador

Ningún navegador lo lee.

Ese es el motivo más frecuente para convertirlo: no que el formato sea malo, sino que el sitio donde quieres mostrar el archivo no sabe leerlo.

Es un formato de trabajo

ZIP está pensado para abrirse y cambiarse. Guarda el archivo en este formato mientras el trabajo siga en marcha y exporta desde él cada vez que haga falta una copia terminada.

El formato en el que no hay que pensar

ZIP es el único formato de archivo comprimido que cualquier sistema abre sin instalar nada. Windows lo hace desde 1998, macOS desde su primera versión, y lo entienden los móviles, los clientes de correo y los navegadores. Esa es la única razón para elegirlo, y es una razón excelente.

Todos los demás cambian esa ventaja por otra cosa. RAR comprime más y buena parte de quien lo recibe no puede abrirlo. 7z comprime todavía más y exige un programa. TAR conserva los permisos de Unix y no significa nada en Windows. ZIP gana el caso que más se repite: entregar algo a una persona de cuyo ordenador no sabes nada.

Cada archivo se comprime por su cuenta

Esta es la decisión de diseño que explica lo bueno y lo malo. Cada elemento del interior se comprime por separado y queda anotado en un índice al final del contenedor, de modo que se puede extraer uno solo sin tocar el resto.

Eso hace del ZIP un formato estupendo para consultar y mediocre en ratio. Mil ficheros de texto casi idénticos se aprietan de uno en uno, sin ninguna posibilidad de notar que se parecen — que es justamente el caso donde 7z y `.tar.gz` se adelantan, a veces por un factor de varias veces.

La contraseña del ZIP son dos cosas distintas

El cifrado original, el que llegó con la especificación 2.0 en 1993, está roto. Existen ataques conocidos que recuperan el contenido sin la contraseña y herramientas públicas que los ejecutan. Un archivo protegido así está protegido frente a un compañero curioso y frente a nada más.

El ZIP moderno también admite AES-256, que sí es sólido — pero no es lo que marcan todas las herramientas por defecto, y un contenedor cifrado con él no lo abre el explorador de Windows, que sigue entendiendo únicamente el esquema viejo. Así que la elección real es seguridad que quizá el destinatario no pueda abrir, o comodidad que no es seguridad. Para lo que de verdad importe, cifra el documento antes de meterlo en el archivo.

La mitad de los archivos de tu disco ya son ZIP

DOCX, XLSX, PPTX, ODT, ODS, EPUB, APK y JAR son contenedores ZIP con otra extensión y una estructura interna obligatoria. Cambia la extensión de cualquiera de ellos a `.zip` y se abre, enseñando el XML y las imágenes de dentro.

Por eso comprimir una carpeta de documentos de oficina no ahorra prácticamente nada: el contenido ya está comprimido y la compresión no se aplica dos veces con provecho. Lo mismo vale para JPEG, MP3, MP4 y PDF. Si el archivo comprimido pesa más o menos como su contenido, eso no es un fallo; significa que los ficheros ya estaban haciendo el trabajo.

Lo que el contenedor no sabe llevar

Los permisos de Unix, la propiedad del fichero y los enlaces simbólicos no tienen un sitio fiable dentro de un ZIP. Algunas herramientas los guardan en un campo de extensión y la mayoría lo ignora, así que una carpeta de scripts comprimida en un Mac y extraída en un servidor llega con frecuencia sin el permiso de ejecución.

Es la razón de que el software para sistemas Unix se distribuya como `.tar.gz` y no como ZIP, y conviene saberlo antes de mover un proyecto entre máquinas de esa forma. Para documentos, fotografías y cualquier cosa que vaya a abrir una persona a mano, nada de esto importa.

Los cuatro gigabytes y la extensión que los quitó

La especificación original usaba campos de 32 bits, lo que dejaba el contenedor y cada fichero de dentro en cuatro gigabytes y el número de entradas en 65.535. ZIP64 levantó los tres límites en 2001 y es lo que escribe hoy cualquier herramienta actual cuando le hace falta.

El software antiguo no lo entiende, y el síntoma es reconocible: un archivo que se extrae perfectamente en un programa y da error de corrupción o de truncamiento en otro, normalmente una utilidad vieja o algo incrustado en un aparato. El contenedor está bien; quien lo lee es anterior a la extensión.

Las carpetas __MACOSX que aparecen en Windows

Comprimir desde macOS añade una carpeta `__MACOSX` y ficheros que empiezan por `._`: recursos y atributos extendidos que el sistema guarda aparte y empaqueta al lado. En un Mac son invisibles. Extraídos en Windows aparecen como basura junto a cada archivo de verdad.

Se pueden borrar sin pensarlo y no contienen nada que nadie necesite. Merece la pena mencionarlo porque hace que un envío ordenado parezca descuidado, y porque quien lo recibe suele suponer que algo ha salido mal.

Los volúmenes partidos y por qué uno solo no sirve

Un ZIP puede repartirse en volúmenes numerados — `.z01`, `.z02` y un `.zip` final — para esquivar límites de tamaño en el correo o en un almacenamiento. Todas las partes tienen que estar en la misma carpeta antes de empezar, y la extracción se lanza desde el `.zip`, no desde el primer número.

No son archivos independientes, así que una parte que falte suele dejar irrecuperable todo lo que venía después. Si una extracción se detiene a mitad sin una explicación clara, un volumen ausente o renombrado es lo primero que hay que mirar.

Reempaquetar uno aquí sí sube el archivo

Conviene decirlo sin rodeos, porque es la excepción al argumento de este sitio. Las conversiones entre archivos comprimidos las hace 7-Zip dentro de un contenedor nuestro, así que el fichero viaja a api.quinvert.com. Allí se guarda en una carpeta temporal recién creada y con un nombre neutro —el nombre que tú le pusiste no llega al disco— y esa carpeta se borra al terminar, también cuando la conversión falla. El contenedor no tiene salida a internet.

Los números de este camino son distintos a los del navegador: 25 MB por archivo en vez de 100, y un máximo de 100 conversiones de servidor al día por visitante, con el día contado en UTC. El RAR se lee y nunca se escribe, y eso no es una carencia sino la licencia de UnRAR. De lo que va dentro, los ficheros salen byte a byte: se extraen y se vuelven a empaquetar con la herramienta del formato de destino. Lo que no pasa por aquí es un contenedor cifrado — la extracción se intenta sin contraseña a propósito, para que un archivo protegido devuelva un error en vez de dejar el proceso esperando una terminal que no existe.

Los datos, en un solo sitio

Identificadores y procedencia del formato ZIP.
Extensión.zip
Tipo de medioapplication/zip
Publicado porPKWARE
Primera publicación1989
EspecificaciónAPPNOTE.TXT

De dónde salen estas cifras

Lo que dice esta página se puede comprobar: aquí están los documentos que lo fijan.