Como decodificar Base64 para um arquivo ZIP
- Cole o Base64 em Base64 ou data URI, ou abra um arquivo de texto que o contenha com Abrir arquivo .txt.
- O resumo mostra o número de arquivos e pastas, o tamanho descompactado com a porcentagem economizada pela compressão, o comentário do arquivo compactado, se houver, e se ele usa ZIP64 ou tem entradas protegidas.
- A tabela lista cada entrada com Tamanho, tamanho Compactado e data de Modificado, além dos botões Ver e Salvar.
- Clique em Baixar arquivo para salvar o próprio arquivo compactado.
São listadas até 500 entradas; em arquivos maiores, uma linha informa quantas faltam. Nada é descompactado até você clicar em um botão, e tudo acontece no seu navegador. A Content Security Policy da página proíbe requisições de rede que não sejam as do contador de visitas da Cloudflare, então o arquivo compactado não pode ser enviado.
Como abrir um único arquivo do pacote
Ver descompacta uma entrada e mostra a prévia abaixo da tabela: imagens, PDFs, áudio e vídeo, texto e JSON, até um ZIP dentro do ZIP, com até três níveis. Salvar baixa esse arquivo com o nome dele, sem o caminho da pasta. Cada entrada extraída é conferida com o CRC-32 gravado no arquivo compactado, e uma divergência aparece como “Checksum não confere: esta entrada está danificada.”
A listagem dá conta de arquivos compactados em que leitores comuns tropeçam:
- Arquivos ZIP64, usados para arquivos acima de 4 GB ou com mais de 65.535 entradas.
- Nomes de arquivo em UTF-8, na antiga code page 437 do DOS usada por ferramentas antigas do Windows, ou com um campo de caminho Unicode do Info-ZIP.
- Arquivos autoextraíveis e outros ZIPs com dados extras no início.
- Arquivos truncados: quando o diretório no final está ausente, a ferramenta recupera as entradas pelos headers que antecedem cada arquivo e avisa: “O diretório central está ausente (os dados parecem truncados).” Entradas cujos dados foram cortados informam que estão faltando.
Os timestamps clássicos do ZIP não têm fuso horário, então Modificado mostra o que o relógio marcava na máquina que criou o arquivo. Quando uma entrada também traz um timestamp Unix em um campo extra, é ele que vale, exibido no seu horário local.
O que pode ser extraído
| Entrada | Listada | Ver e Salvar |
|---|---|---|
| Armazenada (método 0) | Sim | Sim |
| Deflate (método 8) | Sim | Sim |
| Deflate64, BZIP2, LZMA, Zstandard, XZ, PPMd | Sim, com o método entre colchetes | Não: “O método de compressão BZIP2 não é suportado no navegador.” |
| Criptografada, ZipCrypto ou AES | Sim, marcada como [protected] | Não: “Esta entrada é protegida por senha: pode ser listada, mas não extraída.” |
| Pastas | Sim | Não |
Arquivos compactados criados pelo Windows, pelo macOS e pelo comando zip usam Deflate. Os outros métodos vêm quase sempre do 7-Zip ou do WinZip, quando alguém os escolheu por uma taxa de compressão melhor.
A proteção contra zip bomb
A compressão pode transformar um download pequeno em um arquivo enorme. 100 MiB de zeros viram cerca de 100 KB com Deflate, e arquivos aninhados ou forjados vão muito além disso. Antes de descompactar uma entrada, a ferramenta confere o tamanho declarado no arquivo compactado e recusa qualquer coisa acima de 64 MB com “Interrompido em 64.0 MB descompactados: grande demais para descompactar no navegador (possível zip bomb). Baixe o arquivo compactado.” Durante a descompactação, ela também para no tamanho declarado mais 1 KB, então uma entrada que mente sobre o próprio tamanho não consegue passar do que declarou.
A linha de resumo continua mostrando o total declarado, o que já é um alerta útil: um arquivo compactado de algumas centenas de kilobytes que descompacta para gigabytes merece desconfiança antes de você extraí-lo com qualquer ferramenta.
É mesmo um ZIP?
Arquivos ZIP começam com PK e mais dois bytes, o que dá UEsDB em Base64; um arquivo vazio começa com UEsFBg. Muitos formatos são arquivos ZIP com outro nome, e a ferramenta diz qual: DOCX, XLSX, PPTX, EPUB, ODT, JAR, APK. Todos são listados e extraídos aqui; documentos do Office também ganham prévia de texto em Base64 para Word e Base64 para Excel.
Outros formatos de compactação não são ZIP. A ferramenta descompacta gzip, mas não 7-Zip nem RAR:
| O Base64 começa com | Formato | O que acontece |
|---|---|---|
H4sI | gzip (.gz, .tar.gz) | Descompactado e exibido, com Baixar como .gz |
N3q8ryc | 7-Zip | “Isto não parece ser ZIP (detectado: 7-Zip)” |
UmFyIRo | RAR | “Isto não parece ser ZIP (detectado: RAR)” |
Nos casos de 7-Zip e RAR, a Extensão fica zip. Digite 7z ou rar ali antes de baixar; senão o sistema vai tentar abrir o arquivo como ZIP e falhar.
Como descompactar um ZIP em Base64 com Python
O zipfile lê direto dos bytes decodificados, então nada precisa ser gravado em disco antes:
import base64, io, zipfile
with open("archive.b64") as f:
data = base64.b64decode(f.read())
with zipfile.ZipFile(io.BytesIO(data)) as z:
for info in z.infolist():
print(f"{info.filename:20} {info.file_size:>8} method={info.compress_type}")
z.extract("docs/readme.txt", "out")
A coluna method mostra os mesmos números da tabela acima: 0 para armazenado, 8 para Deflate, 12 para BZIP2, 14 para LZMA. O Python extrai os quatro. No shell, base64 -d archive.b64 > archive.zip && unzip -l archive.zip lista o conteúdo. Para gerar uma string assim a partir de arquivos, veja ZIP para Base64 e Base64 em Python.
Perguntas frequentes
Como converter Base64 em um arquivo ZIP?
Cole a string acima e clique em Baixar arquivo para salvar decoded.zip. Para tirar um único arquivo de dentro, clique em Salvar ao lado dele na lista.
Dá para abrir um ZIP protegido por senha aqui?
As entradas aparecem listadas com a marca [protected], mas não podem ser extraídas no navegador. Baixe o arquivo compactado e abra com o 7-Zip, o unzip ou o descompactador do seu sistema, que vai pedir a senha.
Por que uma entrada diz que o método de compressão não é suportado?
Navegadores só descompactam Deflate, o método que quase todo ZIP usa. Entradas compactadas com BZIP2, LZMA, Deflate64, Zstandard ou PPMd, geralmente pelo 7-Zip ou pelo WinZip, são listadas, mas precisam ser extraídas com uma ferramenta de desktop ou com o zipfile do Python, que lê BZIP2 e LZMA.
Meu Base64 começa com H4sI. Isso é um ZIP?
Não, é gzip. A ferramenta diz que parece ser GZIP, descompacta e mostra o conteúdo; um .tar.gz contém um arquivo TAR. Baixar como .gz salva com a extensão certa.