Ferramentas
Codificador e Decodificador Base64
Codifique qualquer texto em Base64 ou decodifique uma string Base64 de volta ao original. Funciona no navegador, com suporte completo a UTF-8 e caracteres do português.
Base64: a ponte entre dados binários e texto
Em muitos contextos da web — APIs REST, e-mails, tokens de autenticação — só é possível trafegar texto. O Base64 resolve esse problema convertendo qualquer dado binário em uma sequência de 64 caracteres seguros que podem ser transmitidos em qualquer canal textual sem corrupção de dados ou interpretações indevidas de caracteres especiais.
Ao contrário do que muitos pensam, Base64 não é criptografia. É uma codificação reversível sem chave, projetada para compatibilidade, não para segurança. Entender essa distinção é fundamental para usá-la corretamente no desenvolvimento de software.
Como o Base64 funciona tecnicamente
O algoritmo Base64 divide o dado de entrada em grupos de 3 bytes (24 bits). Cada grupo é então repartido em quatro blocos de 6 bits. Como 6 bits representam valores de 0 a 63, cada bloco é mapeado a um dos 64 caracteres do alfabeto Base64. Quando o dado não é divisível por 3, caracteres de padding '=' são adicionados ao final.
Isso explica o aumento de tamanho de ~33%: 3 bytes viram 4 caracteres. Para textos
simples em ASCII, o resultado é sempre maior. O custo vale a pena quando a compatibilidade
com sistemas baseados em texto é essencial — como ao embutir uma imagem diretamente em
um atributo src de uma tag HTML.
Usos comuns de Base64 no desenvolvimento web
Data URIs permitem embutir imagens, fontes e outros recursos diretamente no HTML ou CSS,
eliminando uma requisição HTTP extra. Tokens JWT usam Base64url (variante segura para URLs)
para codificar o cabeçalho e o payload. A autenticação HTTP Basic codifica usuário e senha
em Base64 antes de enviar no cabeçalho Authorization. APIs que trafegam
dados binários — como PDFs gerados dinamicamente ou capturas de tela — também recorrem
ao Base64 para incluir os dados em respostas JSON.
No contexto de e-mails, o padrão MIME usa Base64 para codificar anexos e partes do corpo da mensagem que contenham caracteres fora do ASCII de 7 bits, garantindo que os dados cheguem intactos independentemente dos servidores de e-mail no caminho.
Base64 vs criptografia: uma distinção crítica
Um equívoco perigoso no desenvolvimento é tratar Base64 como proteção para dados sensíveis. Uma string em Base64 pode ser decodificada instantaneamente por qualquer pessoa com acesso a ela — não há segredo, chave ou algoritmo proprietário envolvido. Senhas, tokens de API, chaves privadas e dados pessoais nunca devem ser apenas codificados em Base64.
Para proteger dados em trânsito, use TLS (HTTPS). Para proteger dados em repouso, use algoritmos de criptografia simétrica como AES-256 ou assimétrica como RSA. Base64 pode ser combinado com criptografia — por exemplo, criptografar um dado com AES e depois codificar o resultado em Base64 para transmissão — mas o Base64 em si não adiciona nenhuma camada de segurança.
Considerações de desempenho ao usar Data URIs
Embutir imagens como Data URIs em Base64 pode parecer uma otimização por eliminar requisições HTTP, mas nem sempre é a escolha certa. Imagens Base64 não são armazenadas em cache pelo navegador de forma independente — elas são baixadas novamente junto com o HTML ou CSS a cada requisição, ao contrário de imagens externas que ficam no cache.
Para imagens pequenas usadas em muitos lugares (ícones, logos), Data URIs em CSS podem ser eficientes. Para imagens de conteúdo ou banners, servir arquivos externos otimizados com formatos modernos como WebP ou AVIF e um CDN é invariavelmente mais eficiente. Avalie o contexto antes de adotar Base64 como estratégia de desempenho.
Perguntas frequentes
O que é Base64?
Base64 é um esquema de codificação binário-para-texto que representa dados binários usando um conjunto de 64 caracteres ASCII imprimíveis: letras maiúsculas (A–Z), minúsculas (a–z), dígitos (0–9) e os símbolos '+' e '/'. É amplamente utilizado para transmitir dados binários em meios que suportam apenas texto, como e-mails, JSON e atributos HTML.
Quando devo usar Base64?
Use Base64 quando precisar embutir dados binários em contextos que só aceitam texto. Os casos mais comuns são: Data URIs para imagens inline em HTML/CSS, tokens JWT (os payloads são Base64url), autenticação HTTP Basic (usuário:senha codificados), payloads de APIs que não aceitam binários e anexos de e-mail no formato MIME.
Esta ferramenta suporta caracteres especiais do português?
Sim. A ferramenta usa a API TextEncoder com UTF-8 antes de codificar, o que garante suporte correto a caracteres acentuados como ã, é, ç, ô e outros presentes no português. Sem esse tratamento, funções nativas do navegador como btoa() falham com caracteres fora do ASCII.
Base64 é uma forma de criptografia?
Não. Base64 é apenas uma codificação, não uma criptografia. Qualquer pessoa pode decodificar um texto em Base64 sem nenhuma chave ou senha — basta usar qualquer decodificador. Nunca use Base64 sozinho para proteger informações sensíveis como senhas ou dados pessoais. Para isso, use algoritmos de criptografia reais como AES ou RSA.
Qual é o aumento de tamanho causado pelo Base64?
A codificação Base64 aumenta o tamanho dos dados em aproximadamente 33%. Isso acontece porque cada grupo de 3 bytes (24 bits) é representado por 4 caracteres Base64 (cada um representando 6 bits). Portanto, um arquivo de 1 MB vira aproximadamente 1,37 MB quando codificado em Base64. Esse overhead é importante considerar ao usar Data URIs para imagens grandes.
Qual a diferença entre Base64 padrão e Base64url?
O Base64 padrão usa os caracteres '+' e '/' que têm significado especial em URLs. O Base64url substitui '+' por '-' e '/' por '_', tornando o resultado seguro para uso em URLs e nomes de arquivos sem necessidade de encoding adicional. Tokens JWT usam Base64url. Esta ferramenta trabalha com Base64 padrão — para JWT, verifique se o sistema já faz a conversão automaticamente.

