Codificador e Decodificador Base64

Codifique texto ou um arquivo em Base64, ou decodifique.

O que é Base64 e quando usar

Base64 é uma forma de representar dados binários arbitrários usando 64 caracteres ASCII imprimíveis: A–Z, a–z, 0–9, mais e barra, com = como preenchimento. Cada 3 bytes de entrada viram 4 caracteres de saída, então os dados codificados ficam cerca de 33% maiores que o original. Ele existe porque muitos canais foram projetados apenas para texto: anexos de e-mail (MIME), payloads em JSON e XML, cabeçalhos de autenticação HTTP Basic, tokens JWT e data URLs que embutem uma imagem diretamente dentro de HTML ou CSS. Base64 é uma codificação, não criptografia — qualquer pessoa pode decodificá-la, então nunca a use para esconder segredos.

A variante URL-safe (RFC 4648 §5) substitui + por - e / por _ e geralmente descarta o preenchimento = para que o resultado possa ser colocado em URLs, nomes de arquivos e cookies sem escape. Os JWTs usam esse formato. O decodificador nesta página aceita as duas variantes e tolera preenchimento ausente, então você pode colar um segmento de JWT diretamente.

Como usar esta ferramenta

Digite ou cole um texto e ele é codificado enquanto você digita. O texto é tratado como UTF-8, então chinês, emoji e qualquer outro caractere Unicode fazem o percurso de ida e volta corretamente — um bug comum em implementações ingênuas que usam btoa() diretamente. Marque URL-safe para obter o alfabeto -/_ sem preenchimento. Clique em Arquivo para escolher qualquer arquivo: imagens, PDFs, fontes ou arquivos compactados são lidos localmente e codificados; para imagens, a saída é uma data URL completa que você pode colar direto em um <img src> ou em um background de CSS.

Para decodificar, mude para Decodificar e cole o Base64 (uma data URL completa também funciona). Se o resultado for texto UTF-8 válido, ele aparece na caixa de saída; se for binário, a ferramenta detecta formatos comuns (PNG, JPEG, GIF, WebP, PDF, ZIP), exibe imagens em prévia e permite baixar o arquivo decodificado. Trocar move a saída de volta para a entrada para você verificar o percurso de ida e volta em um clique.

Privacidade e limites

Os arquivos nunca saem do seu computador. Eles são lidos com a File API do navegador, codificados na memória e exibidos para você; nada é enviado. Como tudo roda no lado do cliente, o limite prático é a memória do seu dispositivo: arquivos de dezenas de megabytes funcionam bem, embora a caixa de texto de saída fique lenta para rolar. Para arquivos muito grandes, baixe o resultado em vez de copiá-lo.

Contexto: um mundo só de texto

O Base64 surgiu das limitações do e-mail antigo. O SMTP foi projetado para texto ASCII de 7 bits, então anexar um arquivo binário exigia primeiro traduzi-lo em caracteres imprimíveis; o uuencode fazia isso nos anos 1980, e o padrão MIME (RFC 2045, 1996) definiu o alfabeto Base64 usado até hoje. A RFC 4648 (2006) depois reuniu as variantes: Base64 padrão, o formato seguro para URL e nome de arquivo, e Base32/Base16. A proporção de 3 bytes para 4 caracteres é o motivo pelo qual os dados codificados têm exatamente 4/3 do tamanho original mais o preenchimento — um custo que importava na conexão discada e que ainda importa para imagens embutidas em CSS.

Onde é usado

Anexos de e-mail ainda são Base64 nos bastidores. Data URLs embutem imagens e fontes pequenas diretamente em HTML e CSS para economizar uma requisição — comprima a imagem primeiro, porque o Base64 adiciona 33% sobre qualquer tamanho que você fornecer. A autenticação HTTP Basic envia usuário:senha como Base64 (não criptografado — sempre use HTTPS). Tokens JWT são três segmentos Base64 URL-safe unidos por pontos; o cabeçalho e o payload decodificam para JSON. Secrets do Kubernetes, políticas de IAM na nuvem, URLs codificadas em porcentagem que carregam valores Base64, digests SHA-256 em atributos de Subresource Integrity, asserções SAML, certificados PEM (o bloco entre as linhas BEGIN e END) e campos binários dentro de APIs JSON, todos usam Base64 porque esses sistemas só conseguem transportar texto. Quando você encontrar uma string longa terminada em = ou contendo apenas letras, dígitos, + e /, ela quase certamente é Base64, e colá-la aqui é a forma mais rápida de descobrir o que ela contém.

Perguntas frequentes

Base64 é seguro?

Não. É uma codificação reversível, não criptografia. Qualquer pessoa pode decodificá-la instantaneamente. Use para transporte e para embutir dados, nunca para esconder informações.

Por que meu texto decodificado ficou embaralhado?

O original provavelmente não era texto UTF-8, ou era binário. Esta ferramenta decodifica como UTF-8 e recorre ao download de arquivo quando os bytes não são texto válido.

O que é uma data URL?

Uma URL no formato data:image/png;base64,... que embute o conteúdo do arquivo de forma inline. Os navegadores a renderizam diretamente, o que é útil para ícones pequenos em HTML/CSS ou para e-mails.

Por que a saída codificada termina com sinais de =?

O preenchimento faz o comprimento ser múltiplo de 4. Ele é obrigatório no Base64 padrão, mas opcional na variante URL-safe; o decodificador aqui aceita a entrada com ou sem ele.

Posso decodificar um JWT com isto?

Sim, para o cabeçalho e o payload: cole o segmento entre os pontos. Observe que o segmento da assinatura é binário e não pode ser lido como texto.