ToolActToolAct

Empacotar e Compactar ZIP

Empacote múltiplos arquivos em um arquivo ZIP, upload arrastar e soltar, processamento local no navegador

Upload de Arquivos

Arraste arquivos aqui, ou clique para selecionar arquivos

Suporta todos tipos de arquivo, múltiplos arquivos permitidos

O que é Compressão ZIP?

Compactar em ZIP reúne arquivos selecionados em um único arquivo baixável e geralmente facilita envio ou armazenamento. É útil para mandar vários arquivos soltos juntos, preparar um pacote de entrega, agrupar capturas de tela, anexar documentos a um e-mail ou criar um pequeno backup. ZIP é um formato sem perda: depois da extração, os arquivos devem ser restaurados exatamente. Porém, formatos já comprimidos como JPG, PNG, MP4 e PDF podem diminuir pouco. Esta ferramenta do navegador cria o arquivo localmente, sem enviar os arquivos selecionados ao servidor. Ela é adequada para conjuntos moderados; arquivos muito grandes podem consumir muita memória. Compactar em ZIP não é criptografar, então arquivos sensíveis ainda precisam de proteção extra.

Como usar

Como usar

  1. Arraste arquivos para a área de upload ou clique no botão 'Select Files' para adicionar arquivos
  2. Confira a lista de arquivos e remova os indesejados, se necessário
  3. Insira um nome para o arquivo ZIP (opcional)
  4. Clique no botão 'Create ZIP Archive' para baixar o arquivo compactado

Observações sobre o Arquivo Compactado

  • Confira os nomes dos arquivos e a estrutura de pastas antes de criar o arquivo compactado; o ZIP preserva os caminhos e pode expor nomes indesejados.
  • Para armazenamento de longo prazo ou compartilhamento com outros sistemas, evite caracteres não suportados nos nomes dos arquivos.

Casos de uso

Agrupe arquivos soltos em um ZIP local para uma entrega rápidaArraste ou selecione múltiplos arquivos, revise seus nomes, tipos MIME, tamanhos individuais e tamanho total, e remova qualquer coisa que não deveria ser incluída antes de criar o pacote. O campo de nome personalizado controla o nome do arquivo .zip baixado, e a lista de arquivos reflete adições e remoções em tempo real. É uma forma limpa de enviar uma pasta de capturas de tela, um conjunto de recibos ou uma pequena exportação de uma ferramenta que não empacota sozinha.
Comprima arquivos no navegador sem enviá-los a nenhum lugarA página usa JSZip, lê cada arquivo selecionado via arrayBuffer e grava um pacote DEFLATE nível 6 como download Blob. DEFLATE é o método padrão do ZIP e troca uma taxa de compressão moderada por velocidade, enquanto o LZMA do 7-Zip pode comprimir texto e binários muito mais, mas produz um arquivo .7z que descompactadores padrão às vezes precisam de plugins extras para abrir. Como cada etapa roda localmente, rascunhos, exportações e capturas de tela permanecem no dispositivo, e formatos já comprimidos como JPG, MP4 e PDF normalmente encolhem muito pouco, enquanto uma pasta de texto bruto ou CSV geralmente encolhe mais.
Crie um pacote previsível quando o controle de pastas não é necessárioEsta ferramenta adiciona arquivos selecionados por nome de arquivo e mantém o fluxo deliberadamente simples: sem seletor de pastas, sem criptografia por senha e sem interface de nível de compressão. É ideal para pacotes de entrega planos e limpos em vez de preservar uma árvore de diretórios. Se a estrutura de subpastas importar, um compactador de desktop com seletor real de pastas é o caminho mais seguro.
Estime o tamanho final e fique atento ao limite de 4 GB do ZIP64Acompanhe o tamanho total conforme os arquivos são adicionados e remova ativos grandes se o pacote estiver se aproximando do limite de anexo de e-mail ou upload. O formato ZIP clássico limita um único arquivo a cerca de 4 GB, e arquivos maiores exigem ZIP64, que esta ferramenta não produz, então uma seleção muito grande falhará na criação. O JSZip também monta o pacote em memória, então uma seleção de vários gigabytes pode esgotar a aba antes do download começar.
Ignore a ferramenta quando os arquivos precisarem de proteção por senha, criptografia ou preservação de timestampsA página não oferece criptação AES, prompt real de senha nem seletor de pastas, então use um compactador de desktop para pacotes com credenciais. Note que o esquema clássico de senha ZIP é um cifrador de fluxo considerado fraco contra um atacante determinado, e esta ferramenta não adiciona nenhuma criptografia. Nomes de arquivo Unicode são gravados com a flag UTF-8, mas a ferramenta não preserva os mtimes originais dos arquivos, então um pacote de backup parecerá recém-criado ao ser extraído.

Princípio técnico

O contêiner ZIP é definido pela especificação APPNOTE da PKWARE (revisão atual 6.3.10). Um arquivo `.zip` é uma sequência de três tipos de registro: cada arquivo armazenado é precedido por um Local File Header com a assinatura de 4 bytes `0x04034b50` (PK\x03\x04) seguido de seus dados comprimidos; após o último arquivo vem o Central Directory, uma tabela de File Headers (assinatura `0x02014b50`) que lista cada entrada com seu nome, tamanhos, CRC-32 e deslocamento de volta ao cabeçalho local; finalmente, o registro End of Central Directory (assinatura `0x06054b50`) fica no final do arquivo e aponta para o início do diretório central. Leitores analisam o `.zip` a partir do final: verificam de trás para frente a assinatura EOCD, saltam para o diretório central e então buscam cada cabeçalho local — é por isso que o ZIP suporta anexação em streaming e acesso aleatório rápido a uma única entrada sem ler todo o arquivo. Esta ferramenta usa a biblioteca JSZip (com fflate como alternativa mais rápida) para montar o arquivo no navegador. Cada objeto `File` selecionado pelo usuário é lido como um `ArrayBuffer`, adicionado com `zip.file(name, buffer)`, e então `zip.generateAsync({ type: 'blob', compression: 'DEFLATE', compressionOptions: { level: 6 } })` produz um `Blob` que é disponibilizado ao usuário como download via `URL.createObjectURL()`. DEFLATE é o método de compressão padrão do ZIP, definido no RFC 1951; ele combina correspondência de dicionário por janela deslizante LZ77 com codificação Huffman. O nível de compressão 6 (o padrão) é um equilíbrio — o nível 1 é cerca de 4× mais rápido, mas 5-15% maior, enquanto o nível 9 é 2-3× mais lento que o 6 para tipicamente 1-2% de compressão adicional. A integridade é garantida pelo CRC-32, calculado por arquivo com o polinômio IEEE 802.3 `0xEDB88320` (invertido) e armazenado tanto no cabeçalho local quanto na entrada do diretório central. Nomes de arquivo são gravados em UTF-8 quando o bit 11 da flag de uso geral está definido (obrigatório desde APPNOTE 6.3.0, 2006); sem essa flag, ferramentas mais antigas assumem a página de código OEM local (CP437 no DOS, CP936/GBK no Windows chinês) e nomes não-ASCII aparecem como mojibake. O formato ZIP clássico usa campos de 32 bits para tamanhos e deslocamentos, limitando uma única entrada e o arquivo total a cerca de 4 GiB (2³² − 1 = 4.294.967.295 bytes); o ZIP64, definido no APPNOTE 4.5+, estende esses campos para 64 bits por meio de campos extras, mas a construção em memória do JSZip restringe o tamanho prático do arquivo a algumas centenas de MB antes que as abas do navegador fiquem sem memória.

  • Estrutura do arquivo ZIP (PKWARE APPNOTE 6.3.10): Local File Headers (`0x04034b50`) + dados do arquivo, depois Central Directory (`0x02014b50`), terminando em EOCD (`0x06054b50`).
  • Leitores analisam a partir do final: verificam de trás para frente a assinatura EOCD e então saltam para o diretório central — isso permite extração rápida de um único arquivo sem transmitir todo o arquivo.
  • Compressão DEFLATE (RFC 1951) = dicionário de janela deslizante LZ77 + codificação Huffman; nível 6 é o equilíbrio padrão, nível 9 ganha ~1-2% por 2-3× mais lento.
  • Integridade: CRC-32 com polinômio `0xEDB88320` (IEEE 802.3 invertido), armazenado tanto no cabeçalho local quanto no diretório central; verificado na extração.
  • Nomes de arquivo UTF-8 requerem o bit 11 da flag de uso geral (APPNOTE 6.3.0, 2006); sem ele, ferramentas mais antigas recorrem a CP437 / página OEM local e nomes não-ASCII aparecem como mojibake.
  • O ZIP clássico limita tamanhos a 2³² − 1 = 4.294.967.295 bytes por arquivo e por arquivo ZIP; campos extras ZIP64 (APPNOTE 4.5+) estendem para 64 bits para cargas maiores.
  • Implementação no navegador: JSZip / fflate leem cada `File` via `arrayBuffer()`, constroem o arquivo em memória e transmitem como download `Blob` — sem upload para servidor.

Exemplos

Empacotamento de arquivos de projeto

Entradas: src/, package.json, README.md (dezenas de arquivos)
Saída:    project-2026-06-11.zip (arquivo único, compressão deflate)
Uso:      compartilhar um snapshot com um colega ou anexar a uma release

Transferência de múltiplos arquivos (reduzir overhead)

Entradas: 100 imagens pequenas, 5-50 KB cada (≈ 3 MB no total)
Saída:    photos.zip (um arquivo, uma requisição HTTP, sem overhead por arquivo)
Uso:      ao enviar muitos arquivos pequenos para um e-mail ou serviço de armazenamento que cobra por arquivo

Organização de documentos

Entradas: invoice.pdf, contract.docx, signed-acknowledgement.png
Saída:    documents-2026Q2.zip
Uso:      agrupar registros fiscais, jurídicos ou de RH em um único arquivo datado para políticas de retenção

Perguntas frequentes

Meus dados são enviados para gerar o ZIP?

Não. O arquivo ZIP é criado no seu navegador usando JSZip. Os arquivos originais são lidos com a API FileReader, comprimidos localmente e oferecidos para download. Nada trafega pela rede.

Qual nível de compressão é usado?

DEFLATE nível 6 por padrão — um equilíbrio entre velocidade e tamanho que combina com o que a maioria das ferramentas ZIP usa. Conteúdo só de texto (logs, JSON, código-fonte) comprime bem; conteúdo já comprimido (JPEG, MP4, ZIP) ganha quase nada.

Posso adicionar uma senha?

O JSZip não suporta entradas ZIP criptografadas. Se uma versão oferecer proteção por senha, normalmente é com ZipCrypto, que é amplamente considerado inseguro e está quebrado há décadas. Para uma proteção por senha de verdade, use o 7-Zip no desktop com AES-256.

Qual é o limite de quantidade e tamanho de arquivos?

Os limites práticos são da memória do navegador. Algumas centenas de MB no total funcionam na maioria dos desktops. Navegadores de celular são mais limitados. Para empacotamentos muito grandes, use uma ferramenta de desktop (7-Zip, WinRAR, comando zip) — elas leem direto do disco em vez de manter tudo na RAM.

A estrutura de pastas é preservada?

Sim. Arraste uma pasta do seu sistema de arquivos e os caminhos relativos são preservados dentro do ZIP. A página pode mostrar uma visualização em árvore para você conferir a estrutura antes de gerar.

Windows, macOS e Linux abrem o ZIP corretamente?

Sim. O JSZip gera arquivos ZIP padrão. Nomes de arquivos em UTF-8 funcionam em todo lugar moderno; versões muito antigas do Windows podem mostrar nomes em chinês ou japonês embaralhados se uma codepage diferente de UTF-8 for forçada. macOS e Linux modernos sempre tratam UTF-8 corretamente.

Qual é a diferença entre ZIP e 7Z?

O ZIP usa compressão DEFLATE e é universalmente legível em qualquer sistema operacional. O 7Z usa LZMA/LZMA2 e tem taxas de compressão bem melhores em texto, mas precisa do 7-Zip ou software compatível para extrair. Esta página gera somente ZIP.