Descompactar Arquivos
Extraia arquivos ZIP no navegador. Navegue conteúdo, baixe arquivos individuais ou exportação em massa dos selecionados. Com JSZip, sem upload.
Sobre a Ferramenta Descompactar Arquivos
Arquivos ZIP são a forma universal de agrupar múltiplos arquivos em um contêiner comprimido — criados em 1989 por Phil Katz, agora padronizados como ISO/IEC 21320 e suportados nativamente por todo sistema operacional e navegador moderno. Este extrator lê ZIPs inteiramente no seu navegador usando a biblioteca JSZip: ele analisa o diretório central do arquivo, lista o nome, tamanho, tipo e tamanho comprimido de cada entrada, e descomprime sob demanda quando você clica em baixar. Você pode extrair arquivos individuais, selecionar em massa com caixas de seleção, ou baixar tudo como um novo arquivo ZIP. Suporta o algoritmo padrão DEFLATE, entradas stored (não comprimidas) e extensões ZIP64 para arquivos acima de 4 GB. Tamanho máximo de entrada 100 MB. Experimente também nosso Compactar Arquivos e Extrator 7Z.
Por que esta ferramenta recusa ZIPs protegidos por senha enquanto ferramentas desktop os abrem?
ZIP suporta dois modos de criptografia: ZipCrypto (legado, criptograficamente quebrado desde 2003) e AES-128/256 (adicionado pelo WinZip em 2003, genuinamente seguro). Descriptografar qualquer um requer pedir a senha ao usuário e executar a cifra dentro do navegador. JSZip, a biblioteca que impulsiona esta ferramenta, deliberadamente não implementa descriptografia baseada em senha para manter o pacote pequeno e o modelo de segurança simples — não há como verificarmos se a senha está correta antes de tentar descriptografar cada entrada, e fornecer uma cria um alvo para ataques de força bruta contra senhas fracas. Para abrir ZIPs protegidos por senha use 7-Zip (Windows/Linux), The Unarchiver (macOS) ou o CLI unzip com a flag -P.
Posso extrair arquivos específicos de um ZIP enorme sem descomprimir tudo?
Sim — essa é a parte brilhante do design do ZIP. Diferente de tar.gz onde tudo é comprimido sequencialmente (você deve descomprimir o início para ler o fim), ZIP armazena cada arquivo independentemente com sua própria compressão e o diretório central no final do arquivo lista cada entrada com offsets de bytes. Nosso extrator lê o diretório central primeiro (tipicamente alguns KB independentemente do tamanho do arquivo) e só descomprime as entradas que você seleciona para download — você pode pré-visualizar um ZIP de 5 GB e extrair apenas um CSV de 10 KB em segundos sem nunca descomprimir as outras entradas.
O que acontece com timestamps, permissões e propriedade de arquivos durante a extração?
ZIP armazena três timestamps por entrada (criado, modificado, acessado) e permissões de arquivo Unix quando o arquivo foi criado em um sistema Unix. Extratores baseados em navegador como este não podem restaurar permissões Unix porque a API JavaScript File System Access não expõe chmod — arquivos extraídos recebem permissões padrão (tipicamente 644 para arquivos, 755 para diretórios em sistemas tipo Unix). Timestamps de modificação são preservados quando suportados pelo diálogo de salvar do navegador. Para fidelidade completa de restauração, use o CLI unzip no Linux/macOS com a flag -X ou 7-Zip no Windows.
Como compressão ZIP se compara a RAR, 7Z e tar.gz?
Taxa de compressão depende do conteúdo, mas para texto e código típicos: ZIP alcança cerca de 30-40% do tamanho original usando DEFLATE; tar.gz usa o mesmo DEFLATE então as taxas combinam; 7Z com LZMA2 alcança 20-25% (15-20% melhor que ZIP); RAR com o algoritmo mais recente alcança 20-25% similar; tar.zst com ZSTD em nível 19 combina qualidade LZMA enquanto descomprime 3-5x mais rápido. A vantagem do ZIP é compatibilidade universal — todo SO extrai ZIPs sem software adicional — enquanto 7Z e RAR requerem ferramentas de terceiros no Windows e macOS por padrão. Para compressão máxima, use 7Z ou tar.zst; para portabilidade máxima, use ZIP.

O que é ZIP64 e por que meu navegador falha em arquivos enormes?
A especificação ZIP original usava campos de 32 bits, limitando arquivos individuais a 4 GB, contagem de arquivos a 65.535 e tamanho total a 4 GB. Esses limites eram inalcançáveis em 1989 mas rotineiramente atingidos por arquivos modernos de backup, mídia e dataset. ZIP64 (adicionado em 2001) estende cada contador para 64 bits, suportando arquivos individuais até 16 EB e contagens ilimitadas de arquivos. Ferramentas modernas escrevem ZIP64 automaticamente quando necessário. JSZip suporta ZIP64 desde a versão 3.0, então nosso extrator os lida, mas arquivos muito grandes (>500 MB) frequentemente falham na memória do navegador antes que a lógica unzip rode.
Há riscos de segurança ao extrair ZIPs não confiáveis?
Duas classes de ataque: (1) ZIP slip — um arquivo malicioso contém entradas com nomes de path-traversal como '../../../etc/passwd', que extratores ingênuos escrevem cegamente fora da pasta pretendida. Extratores de navegador são seguros disso porque a API JavaScript File System Access não permite escrever fora do diretório selecionado pelo usuário. (2) Zip bomb — um arquivo pequeno (alguns KB) que expande para terabytes de dados, esgotando disco ou memória. O famoso exemplo 42.zip descompacta recursivamente em ~4,5 PB de zeros. Nosso limite de entrada de 100 MB e exibição de tamanho por arquivo protegem contra casos extremos.
Por que meus nomes de arquivo extraídos mostram pontos de interrogação ou caracteres errados?
A especificação ZIP original de 1989 só definia nomes de arquivo ASCII, deixando nomes não latinos (português com acentos, chinês, cirílico, emoji) em limbo de codificação. Arquivos criados no Windows frequentemente usam a code page legado sem declará-la; leitores predefinem para UTF-8 e produzem saída embaralhada. Em 2008 a especificação ZIP adicionou um bit de flag UTF-8 (bit 11 do general purpose bit flag) — ferramentas modernas (7-Zip 9.20+, WinRAR 5+, utilitário de arquivo embutido do macOS, unzip 6.0+ do Linux) definem esta flag e produzem nomes cross-platform corretos. Se você vê mojibake, renomeie os arquivos após a extração.
Posso espiar dentro de um ZIP sem baixá-lo?
Não de um navegador a menos que o servidor hospedando o ZIP suporte HTTP Range Requests E CORS esteja configurado para permitir sua origem ler aqueles intervalos de bytes. O truque é que o diretório central ZIP vive no final do arquivo: você pode emitir uma requisição Range para os últimos 64 KB, analisar o diretório central, então emitir mais requisições Range apenas para as entradas que você quer. Bibliotecas como Zarr (usadas para dados científicos cloud-native) e unzipit.js demonstram este padrão, e S3 + Cloudflare R2 expõem suporte a Range por padrão.
