Como codificar e decodificar dados com Base64 e hexadecimal
Quando e por que usar Base64, Base64-URL, Base32 e hexadecimal; o que fazer quando binário não pode ir como ASCII; e como decodificar sem perder zeros à direita.

Mais utilitários que combinam com este guia:
Por que isso importa
Dados binários precisam atravessar sistemas que só aceitam texto. Exemplo clássico: um PNG pequeno dentro de uma API JSON. Base64 mapeia 3 bytes em 4 caracteres ASCII — preço da transferência segura. Variantes (+/ vs -_, com ou sem padding) erradas fazem o decode virar lixo. Saber qual codec e suas pegadinhas transforma “um erro numa linha” em fluxo tranquilo.
Três cenários reais
Codifique arquivo em Base64 no JSON; servidor decodifica de volta para bytes.
Um round-trip só
Divida nos pontos, Base64-URL decode em header e payload, depois confira assinatura com o segredo.
Verificar assinatura
Cole pares hex; o codec devolve bytes brutos para próxima etapa.
Bytes crus para análise
Passo a passo
Abra o codec.
Escolha o codec
Base64 (RFC 4648 padrão), Base64-URL (seguro para URL), Base32 ou hexadecimal — alfabetos e regras de padding diferem.
Coloque a entrada
Texto ou arquivo no painel esquerdo. Para binário que não é ASCII, troque o modo de entrada.
Alterne codificar / decodificar
Operações espelhadas: codificar e decodificar deve restaurar o original. Lixo no decode costuma ser variante errada.
Saída UTF-8 ou bytes crus
Carga textual → UTF-8; imagens/arquivos compactados → baixar como arquivo.
Copiar ou baixar
Texto vai para área de transferência; binário baixa com MIME inferido.
Bytes
Hello, GitHub?Codificado
Standard: SGVsbG8sIEdpdEh1Yj8=
URL-safe: SGVsbG8sIEdpdEh1Yj8
(sem padding, '+'/'/' viram '-'/'_')Bytes
\x00\x0F\xA5\xFFHex
00 0F A5 FF
Dicas avançadas
- Segmentos JWT são Base64-URL sem padding. Decoders Base64 “normais” podem falhar — use modo URL-safe.
- Remova whitespace antes de decodificar. Base64 colado de PDF costuma ter quebras de linha “macias”.
- Hex é legível em dumps; Base64 é mais compacto para transporte. Hex ~2× o tamanho original; Base64 ~1,33×.
- Cheque integridade do arquivo. Após decodificar, faça hash com gerador de hash e compare ao arquivo-fonte.
Armadilhas comuns
Erro comum
Texto decodificado com caracteres estranhos ou �
Sequência de bytes válida mas não UTF-8. Troque saída de “texto UTF-8” para “bytes crus” / download de arquivo.
Erro comum
Padding '=' no final rejeitado por outro sistema
Alguns codificadores incluem =, outros omitem. Recodifique com padding explícito ou remova para casar com o destino.
Erro comum
Hex com separadores (00:0F:A5) falha
Remova dois-pontos, espaços e quebras — o decoder espera dígitos hex contínuos.
Quando esta não é a ferramenta certa
- Hash (unidirecional, integridade ou senhas) — gerador de hash. Base64 é reversível, não é hash.
- Criptografia (sigilo) — Base64 não cifra. Use algoritmo real com gestão de chaves.
- Compressão — Base64 aumenta tamanho. Se importar tamanho, gzip primeiro e só depois Base64.
FAQ
Por que Base64 tem ~33% de overhead?
Cada 3 bytes viram 4 símbolos de um alfabeto de 64 caracteres. 4/3 ≈ 1,33×; comprimentos não múltiplos de 3 somam padding.
Base64 é função hash?
Não. Base64 é codificação reversível. Quem tem a string pode recuperar o original.
Meus dados são enviados?
Não. Codec no navegador; arquivos não são uploadados.
Próximos passos
- Validada integridade binária com hash.
- Assine payloads de API com HMAC.
- Para embutir imagem em HTML/CSS sem CDN use imagem para Base64.