Codificação Base64: Como Funciona e Quando Usar

Entenda a codificação e decodificação Base64 — URIs de dados, cargas úteis de API, anexos de e-mail e conversão binário-texto.

6 min de leitura Codificação · Web · APIs 6 seções + FAQ

Base64 é um esquema de codificação binário para texto que converte dados binários arbitrários em uma string de 64 caracteres ASCII imprimíveis. Não criptografa — apenas codifica.

Você encontra Base64 em todos os lugares: URIs de dados em CSS, tokens JWT, anexos de e-mail, corpos de requisições de API.

O que é codificação Base64

Base64 é definido na RFC 4648. Representa dados binários usando 64 caracteres: A-Z, a-z, 0-9, + e /. Cada 3 bytes de entrada produzem 4 caracteres Base64, com uma sobrecarga de 33%.

Ferramenta gratuita Codificador / Decodificador Base64 Codifique e decodifique strings Base64 instantaneamente no seu navegador

Como Base64 funciona (o algoritmo)

O algoritmo de codificação divide os bytes de entrada em grupos de 6 bits. Cada grupo de 6 bits é mapeado para um caractere no alfabeto. Três bytes de entrada produzem quatro grupos de 6 bits, portanto quatro caracteres de saída.

Base64 em URIs de dados

Um URI de dados incorpora o conteúdo do arquivo diretamente em uma URL. O formato é data:[mediatype];base64,[data]. Permite incorporar imagens e outros ativos em HTML ou CSS sem requisições HTTP separadas.

<!-- Imagem inline como URI de dados -->
<img src="data:image/png;base64,iVBORw0KGgo..." />

/* Fonte inline em CSS */
@font-face {
  src: url('data:font/woff2;base64,d09GMgAB...');
}
Ferramenta gratuita Codificador de Imagem para Base64 Converta qualquer imagem para um URI de dados Base64

Base64 em APIs e cargas JSON

JSON suporta apenas texto — dados binários não podem ser incorporados diretamente. Base64 resolve isso: o conteúdo binário é codificado em uma string Base64 e incluído como campo JSON.

Base64 em e-mail (MIME)

O e-mail foi originalmente projetado para texto ASCII de 7 bits. Anexos binários devem ser codificados para transmissão. MIME usa Base64 como codificação padrão para anexos.

Codificação vs criptografia

Base64 é codificação, não criptografia. Não fornece segurança — qualquer string Base64 pode ser decodificada trivialmente. Nunca use Base64 para ocultar dados sensíveis.

Ferramenta gratuita Formatador e Validador JSON Formate, valide e minifique dados JSON

Perguntas Frequentes

Para que serve Base64? +
Base64 é usado para codificar dados binários como texto: URIs de dados em HTML/CSS, cargas JSON de API, anexos de e-mail (MIME) e tokens JWT.
Quanto Base64 aumenta o tamanho do arquivo? +
Base64 adiciona aproximadamente 33% de sobrecarga. Cada 3 bytes tornam-se 4 caracteres Base64. Um arquivo de 10KB torna-se ~13,3KB.
Base64 é o mesmo que criptografia? +
Não. Base64 é codificação, completamente reversível sem chave. Qualquer pessoa pode decodificar uma string Base64. A criptografia requer uma chave secreta.
O que é Base64 URL-safe? +
Base64 URL-safe substitui + por - e / por _, tornando a saída segura para caminhos de URL e parâmetros de consulta.
Como decodifico uma string Base64? +
Em JavaScript: atob(stringBase64). Em Node.js: Buffer.from(stringBase64, "base64").toString(). Em Python: base64.b64decode(stringBase64).
Qual é a diferença entre Base64 e Base64URL? +
Base64URL usa - em vez de + e _ em vez de /, e omite o preenchimento. É usado em tokens JWT, códigos OAuth e parâmetros URL.
Posso codificar qualquer arquivo com Base64? +
Sim. Base64 é agnóstico ao formato: codifica bytes brutos independentemente do tipo de arquivo.