O que é codificação Base64?
Base64 é uma codificação binário-para-texto que representa bytes arbitrários usando apenas 64 caracteres ASCII imprimíveis: A-Z, a-z, 0-9, mais + e / (ou - e _ na variante URL-safe). É a forma padrão de incorporar dados binários — imagens, certificados, blobs criptografados — dentro de formatos de texto como JSON, XML, e-mail ou cabeçalhos HTTP.
A codificação aumenta o tamanho exatamente em 4/3 (33%): a cada três bytes de entrada tornam-se quatro caracteres de saída. A codificação é totalmente reversível, então decodificar devolve os bytes originais byte por byte. A variante URL-safe substitui + e / por - e _ para não quebrar as regras de codificação de URL.
Como usar esta ferramenta
- Escolha o modo: Codificar (texto → Base64) ou Decodificar (Base64 → texto).
- Se seu Base64 precisa caber em uma URL ou nome de arquivo, marque URL-safe.
- Cole seu texto ou Base64 na área de entrada. O resultado aparece instantaneamente à direita.
- Clique em Copiar para colocar a saída na área de transferência. Use Trocar para encadear codificar e depois decodificar (forma rápida de verificar um ida-e-volta).
Perguntas frequentes
Posso codificar arquivos binários?
Esta ferramenta só lida com texto por enquanto. Arrastar e soltar arquivos está no roadmap. Como alternativa, cole o conteúdo do arquivo (por exemplo via xxd) ou use um utilitário de desktop como base64.
A codificação lida com caracteres não-ASCII?
Sim. A entrada é primeiro codificada como bytes UTF-8, depois esses bytes são codificados em Base64. Emojis, acentos e caracteres CJK passam corretamente por codificar + decodificar.
O que é Base64 URL-safe?
Base64 padrão usa + e /, ambos reservados em URLs. A variante URL-safe (RFC 4648 §5) os substitui por - e _, e remove o padding = final. Use essa variante para URLs, nomes de arquivos ou segmentos JWT.
Por que a saída codificada parece mais longa que a entrada?
Base64 codifica três bytes de entrada em quatro caracteres de saída, então o resultado é sempre ~33% maior. Esse custo extra é o preço do alfabeto text-safe. Se o tamanho importa (anexos grandes, limites de payload), Base64 é a ferramenta errada — comprima os dados primeiro com gzip ou zstd, ou envie bytes brutos por um canal capaz de binário.
Base64 é uma forma de criptografia?
Não. Base64 é uma codificação, não criptografia. Qualquer um pode decodificar instantaneamente sem chave — não há segredo. Se precisa de confidencialidade, use uma cifra real (AES-GCM, ChaCha20-Poly1305) e só codifique em Base64 o texto cifrado resultante se precisar embutir em JSON ou URL.
Casos de uso comuns
Onde Base64 reaparece no trabalho web do dia a dia.
Inspecionar um payload JWT
JWTs são três blocos Base64URL separados por pontos. Cole o bloco do meio para decodificar as claims e verificar usuário, expiração ou scopes.
Decodificar um cabeçalho Basic Auth
Authorization: Basic <Base64(usuario:senha)> — cole o sufixo para recuperar as credenciais separadas por dois pontos, útil ao depurar serviços upstream.
Embutir uma imagem pequena como Data URL
Codifique um PNG ou SVG minúsculo para inseri-lo diretamente em HTML ou CSS, economizando uma requisição HTTP ao custo de ~33 % de bytes a mais.
Passar dados binários por JSON
JSON não pode carregar bytes brutos. Codifique o blob em Base64, envie como string e decodifique no lado receptor — comum para upload de arquivos em APIs REST.
Dicas e atalhos
A variante certa para o trabalho certo.
Use URL-safe em URLs e nomes de arquivo
+ e / são reservados em URLs e inseguros em nomes de arquivo. A variante URL-safe (- e _, sem padding) evita ambos os problemas.
Comprima antes de codificar para payloads grandes
Base64 infla o tamanho em 33 %. Se o tamanho importa, gzip ou brotli primeiro, depois Base64 — a compressão geralmente vence o custo extra de codificação.
Codificado ≠ criptografado
Base64 é totalmente reversível sem chave. Nunca o use como segredo improvisado; combine com uma cifra real quando a confidencialidade importar.
O padding às vezes é opcional
JWT e muitos contextos URL-safe removem o padding final =. A maioria dos decodificadores aceita entrada com ou sem, então não rejeite por comprimento mod 4.