O que é Base64, em um parágrafo
Base64 é uma forma de representar dados binários — bytes que não são necessariamente texto imprimível — usando apenas 64 caracteres ASCII que qualquer sistema consegue lidar: A-Z, a-z, 0-9, mais + e /. Não é criptografia. Não é compressão. É uma tradução que transforma binário em algo seguro para colocar em uma URL, no corpo de um e-mail, em uma string JSON ou em qualquer outro lugar que espere texto comum. Decodificar reverte a tradução.
A cada três bytes de entrada surgem quatro caracteres de saída, preenchidos com = para manter o comprimento alinhado. É por isso que uma string codificada em Base64 é sempre 33% a 37% maior que a original.
Como funciona o Codificador/Decodificador do Microapp
Cole qualquer texto na caixa de entrada e a versão codificada aparece instantaneamente na saída. A conversão acontece no seu navegador — seu texto nunca toca em nossos servidores. Para decodificar, troque o seletor de direção e cole sua string Base64; o texto original reaparece.
A ferramenta lida corretamente com entradas em UTF-8, o que importa mais do que as pessoas imaginam. O btoa() nativo do JavaScript quebra com Unicode (tente codificar "café" — ele dá erro). O codificador do Microapp converte primeiro para bytes UTF-8 e depois aplica Base64, então emojis, caracteres acentuados e alfabetos não latinos fazem o caminho de ida e volta sem problemas.
Hello!Passo 1: os bytes são
72 101 108 108 111 33 (ASCII).Passo 2: reagrupe em blocos de 6 bits:
010010 000110 010101 101100 011011 000110 111100 100001.Passo 3: cada bloco de 6 bits mapeia para um caractere Base64:
SGVsbG8h. Pronto.
Para que serve o Base64
Incorporar imagens diretamente em HTML ou CSS via URLs data:image/png;base64,... — a imagem vive dentro da página, sem uma requisição HTTP separada. Útil para ícones minúsculos ou documentos de página única que precisam funcionar offline.
Cabeçalhos de autorização. A autenticação Basic em HTTP literalmente codifica usuario:senha em Base64 e envia. Não é seguro por si só — é apenas uma camada fina de ofuscação na rede — e por isso a autenticação Basic é combinada com HTTPS na prática.
Anexos de e-mail. A especificação MIME usa Base64 para qualquer anexo binário porque, historicamente, o protocolo SMTP só lidava com ASCII de 7 bits. Mesmo o e-mail moderno ainda codifica anexos dessa forma.
Cargas úteis JSON carregando dados binários. APIs que aceitam arquivos em um corpo JSON geralmente os querem codificados em Base64 para que caibam dentro do campo de string.
O que Base64 NÃO é
Não é criptografia. Qualquer pessoa pode decodificar uma string Base64 com duas linhas de código ou esta ferramenta. Se você está "codificando dados sensíveis" só com Base64, os dados não estão protegidos — estão apenas vestidos com outra fantasia. Use criptografia de verdade (AES, RSA) quando precisar de confidencialidade.
Não é compressão. Base64 sempre torna os dados maiores, nunca menores. A sobrecarga de 33% é o preço de ficar dentro do ASCII.
Não é um hash. Um hash é unidirecional (você não consegue recuperar a entrada a partir da saída). Base64 é totalmente reversível — esse é exatamente o ponto, você consegue decodificar de volta.
Armadilhas comuns
Base64 seguro para URL. O alfabeto padrão usa + e /, ambos com significado dentro de URLs e que precisam de codificação por porcentagem. O Base64 seguro para URL troca esses caracteres por - e _ e descarta o preenchimento =. Se uma string Base64 de um JWT ou token OAuth não decodifica, verifique se é a variante segura para URL.
Quebras de linha. Algumas saídas Base64 (especialmente MIME) incluem quebras de linha a cada 76 caracteres. A maioria dos decodificadores remove as quebras, mas um decodificador estrito pode rejeitar a entrada. O decodificador do Microapp remove espaços em branco antes de decodificar.
Preenchimento. O comprimento de uma string Base64 válida é sempre múltiplo de 4. Strings terminando em == tinham 1 byte de entrada no grupo final; = significava 2 bytes; sem preenchimento significava 3 bytes. Algumas implementações omitem o preenchimento — a maioria dos decodificadores lida com a falta dele, mas isso pode confundir os mais estritos.
Ferramentas relacionadas
Se você precisa codificar caracteres especificamente para uma URL (não binário arbitrário), experimente o Codificador/Decodificador de URL. Para hashes unidirecionais que não podem ser revertidos, o Gerador de Hash MD5 ou o Gerador SHA-256 são as ferramentas certas. Para codificar caracteres especiais de HTML como < e > como entidades, use o Codificador/Decodificador HTML.