Base64 Encoder
Codifique e descodifique texto em Base64.
O que é Base64 e para que serve
O Base64 é um esquema de codificação que transforma dados binários em texto ASCII, facilitando transmissão em canais que aceitam apenas caracteres legíveis. É comum em APIs, cabeçalhos HTTP, tokens e embeddings de ficheiros.
Importante: Base64 não é encriptação. Serve apenas para representação de dados, não para confidencialidade.
Casos de uso comuns
Basic Auth
Credenciais username:password codificadas em cabeçalhos Authorization.
JWT e tokens
Partes de tokens costumam usar Base64URL para serialização.
Data URIs
Imagens inline em CSS/HTML podem ser embutidas em Base64.
APIs JSON
Conteúdo binário (PDF, imagens) é enviado como string Base64.
Boas práticas ao usar Base64
- Valide entrada: ao descodificar, trate erros de formato de forma explícita.
- Evite payloads enormes: Base64 aumenta tamanho em ~33%.
- Não use como segurança: combine com TLS e encriptação real quando necessário.
- Considere Base64URL: para uso em URLs e tokens sem caracteres reservados.
Base64 standard vs Base64URL — qual usar em cada contexto
O Base64 standard (RFC 2045) usa os caracteres + e /, mais o símbolo = como padding de alinhamento. Estes têm significado especial em URLs: + representa espaço em query strings e / é delimitador de path. Incluí-los numa URL sem percent-encoding produz erros de parsing imprevisíveis em diferentes servidores e linguagens.
O Base64URL (RFC 4648 §5) resolve este problema substituindo + por - (hífen) e / por _ (underscore), omitindo também o padding =. O resultado é uma string composta apenas por caracteres seguros para URLs, sem necessidade de percent-encoding adicional. É o formato adotado em JSON Web Tokens (JWT), parâmetros OAuth 2.0, PKCE e na maioria das especificações de autenticação web modernas.
Esta ferramenta usa Base64 standard com a função nativa btoa() do browser. Para APIs JSON, embeddings de imagens e envio por email, é o formato correto. Utilize Base64URL quando o resultado for incluído diretamente num URL, num header HTTP como Authorization, ou num token de autenticação.
Perguntas frequentes sobre Base64
O Base64 comprime os dados?
Não — pelo contrário, aumenta o tamanho em aproximadamente 33%. Cada 3 bytes de input produzem 4 caracteres de output. Não é uma forma de compressão mas de representação de dados binários em formato texto. Para compressão, use gzip ou Brotli antes de codificar em Base64, se necessário.
Posso codificar qualquer tipo de ficheiro em Base64?
Sim. Base64 pode representar qualquer sequência de bytes — imagens, PDFs, áudio, documentos, executáveis. No entanto, o aumento de 33% torna impraticável para ficheiros grandes. Para imagens pequenas como ícones, o embedding como Data URI em CSS/HTML é aceitável; para ficheiros maiores, use sempre URLs normais com cache HTTP.
Os dados em Base64 são privados?
Não. Base64 é apenas uma representação — não é encriptação nem ofuscação eficaz. Qualquer pessoa com a string codificada pode descodificá-la instantaneamente com ferramentas gratuitas. Para dados sensíveis, combine sempre Base64 com HTTPS e, quando necessário, com encriptação real (AES, RSA) antes de codificar.
Esta ferramenta envia os dados para algum servidor?
Não. Toda a codificação e descodificação é feita localmente no browser usando as funções nativas JavaScript btoa() e atob(). Os dados nunca saem do seu dispositivo. Pode confirmar no separador Network das ferramentas de desenvolvimento do browser — ao usar esta ferramenta, nenhum novo pedido HTTP é gerado.
