Como codificar texto em Base64
- Digite ou cole o texto na caixa Entrada ou abra um arquivo.
- Escolha o conjunto de caracteres (o UTF-8 funciona com qualquer idioma e emoji), a saída segura para URL ou quebras de linha a cada 76 caracteres, se precisar.
- Copie o resultado em Base64 ou baixe-o como arquivo de texto.
Como funciona a codificação Base64
O codificador lê o seu texto como bytes, divide-os em grupos de 3 bytes (24 bits) e transforma cada grupo em 4 caracteres de um alfabeto de 64 caracteres. Se o último grupo estiver incompleto, sinais de = são adicionados como preenchimento. É por isso que a saída em Base64 fica cerca de 33% maior que a entrada: Man vira TWFu.
Codificação Base64 nas linguagens mais populares
- JavaScript:
btoa(String.fromCharCode(...new TextEncoder().encode(text))) - Python:
base64.b64encode(text.encode()).decode() - PHP:
base64_encode($text) - Java:
Base64.getEncoder().encodeToString(text.getBytes(UTF_8)) - Linux/macOS:
echo -n 'text' | base64
Perguntas frequentes
Por que o resultado em Base64 é maior que o meu texto?
O Base64 guarda 3 bytes em 4 caracteres, então a saída tem cerca de 4/3 do tamanho da entrada, mais o preenchimento. Caracteres não latinos ocupam 2–4 bytes em UTF-8, o que deixa o Base64 deles ainda maior.
O que significam os sinais = no final?
São o preenchimento (padding). Um = indica que o último grupo tinha 2 bytes; dois, ==, indicam que tinha 1 byte. O Base64 seguro para URL costuma omiti-los.
Posso codificar emojis e textos com acentos?
Sim. Mantenha o conjunto de caracteres em UTF-8 e qualquer idioma, símbolo ou emoji será codificado corretamente e poderá ser decodificado em qualquer sistema.
Quando devo ativar as quebras de linha a cada 76 caracteres?
Só para e-mail (MIME) e alguns certificados PEM, que exigem linhas quebradas. Para APIs, JSON, URLs e data URIs, deixe a opção desativada.