Enviar um arquivo
  1. base64hub
  2. Web e tokens
  3. Decodificador de Base64 gzip

Decodificar Base64 gzip (e zlib, deflate)

Cole uma string Base64 que começa com H4sI ou eJ, ou arraste um arquivo .gz. O decodificador descobre se é gzip, zlib ou deflate bruto e mostra o texto ou o arquivo descompactado.

Grátis sem cadastro, sem limites Local nada é enviado Automático detecta gzip, zlib ou deflate bruto Atualizado 27 de out. de 2026
Entrada –Compactado –Saída –Taxa –

Processado no seu navegador. Esta página não consegue enviar seus dados para lugar nenhum – como sabemos

Como decodificar uma string Base64 gzip

  1. Cole o Base64 na entrada, ou arraste um arquivo .gz, .zz ou .deflate. Espaços e quebras de linha são ignorados.
  2. Deixe o Formato em Detectar automaticamente. O status informa o que foi encontrado, por exemplo “Detectado: gzip”.
  3. A saída em texto aparece no painel de saída, e JSON é formatado. Uma saída binária tem o tipo de arquivo detectado e ganha um botão Baixar.
  4. Para entrada gzip, os metadados também mostram o nome original do arquivo e a data de modificação, quando o remetente os gravou.

Como distinguir gzip, zlib e deflate

Os três usam a mesma compressão DEFLATE e diferem só no invólucro, que aparece nos primeiros caracteres do Base64:

Começa comFormatoOrigem típica
H4sIgzip (1F 8B 08)gzip, GZIPOutputStream, corpos HTTP, CloudWatch Logs
eJzlib, nível padrão (78 9C)zlib.compress(), gzcompress() do PHP, streams de PDF
eNo–eNrzlib, melhor compressão (78 DA)nível 7–9
eAE–eAH, eF4–eF7zlib, níveis mais rápidos e baixos (78 01, 78 5E)nível 1 a 5
sem prefixo fixodeflate brutobinding Redirect do SAML, gzdeflate() do PHP, entradas de ZIP
SDRzSUgzip codificado em Base64 duas vezesSecrets de release do Helm

O deflate bruto não tem assinatura, então a detecção automática o tenta depois que gzip e zlib falham. O Brotli também não tem assinatura e é tentado por último, quando o navegador tem suporte.

Payloads do mundo real

Os eventos de assinatura do AWS CloudWatch Logs chegam ao Lambda como {"awslogs": {"data": "H4sI…"}}. Cole o valor de data para ler o JSON com logGroup, logStream e logEvents.

Os Secrets de release do Helm 3 guardam o Base64 de um JSON compactado com gzip, que o Kubernetes codifica em Base64 de novo. No shell:

kubectl get secret sh.helm.release.v1.myapp.v3 -o jsonpath='{.data.release}' \
  | base64 --decode | base64 --decode | gunzip | jq -r .manifest

No navegador, decodifique a camada externa com o decodificador de Secrets do Kubernetes ou com o decodificador de Base64 e depois cole o resultado H4sI… nesta página.

Mensagens SAML Redirect são deflate bruto. Elas também decodificam aqui, mas o decodificador de SAML ainda desfaz a codificação de URL e resume o XML.

Decodificando em Python e Node.js

import base64, zlib

raw = base64.b64decode(s)
text = zlib.decompress(raw, 47).decode()   # 47 = 32 + 15: accept gzip or zlib
const zlib = require("zlib");
const text = zlib.unzipSync(Buffer.from(s, "base64")).toString();   // gzip or zlib

Para deflate bruto, use zlib.decompress(raw, -15) em Python e zlib.inflateRawSync() em Node. Veja Base64 em Python e Base64 em Node.js.

Erros e limites

  • “Isto é Base64 válido, mas não são dados gzip, zlib ou deflate bruto.” A string nunca foi compactada. Experimente o decodificador de Base64, ou Base64 para arquivo para dados binários.
  • “Estes não são dados gzip válidos, ou estão truncados.” Falta parte da string, muitas vezes cortada por um limite de linha de log. Copie de novo da origem.
  • “Bytes extras após o stream compactado foram ignorados.” Algo foi acrescentado depois do fim do stream. Os dados anteriores são mantidos.
  • “Os dados descompactados são maiores que 256.0 MB, então a descompactação foi interrompida (possível zip bomb).” A saída tem um teto, como proteção contra bombas de descompressão. Para algo desse tamanho, use o gunzip localmente.
  • Arquivos gzip com vários membros (vários streams gzip concatenados) não são suportados.

Perguntas frequentes

O que significa H4sI no início de uma string Base64?

É a forma Base64 de 1F 8B 08, a assinatura do gzip com o byte do método deflate. Uma string que começa com H4sI são dados gzip: decodifique o Base64 e passe os bytes pelo gunzip.

Como decodificar Base64 gzip na linha de comando?

echo 'H4sI…' | base64 --decode | gunzip no Linux e no macOS. Para dados zlib (eJ…), o gunzip recusa o cabeçalho; use python3 -c 'import sys,zlib; sys.stdout.buffer.write(zlib.decompress(sys.stdin.buffer.read()))' depois do passo do Base64.

Por que recebo uma saída binária depois de decodificar o Base64?

Os dados foram compactados antes de serem codificados, então um decodificador de Base64 comum devolve os bytes compactados. Cole a string aqui e ela é decodificada e descompactada de uma vez.

Dá para abrir arquivos .zip ou .tar.gz aqui?

Um .tar.gz é descompactado para o arquivo .tar, que você pode baixar. Arquivos ZIP são outro tipo de contêiner; use Base64 para ZIP para listar e salvar o conteúdo.