Você já viu strings longas como SGVsbG8gTXVuZG8h em tokens de autenticação, em atributos de imagem HTML, ou em payloads de API. Essa codificação aparentemente aleatória tem um nome: Base64. E entender quando e por que usá-la é essencial para qualquer desenvolvedor.

Como o Base64 Funciona

Base64 converte dados binários em texto ASCII usando um alfabeto de 64 caracteres: A-Z, a-z, 0-9, + e /. O nome vem justamente desse conjunto de 64 símbolos. Cada 3 bytes de dados originais se transformam em 4 caracteres Base64.

Por isso, o resultado é sempre ~33% maior que a entrada original. Base64 não é compressão — é conversão de formato. O objetivo é representar dados binários em um formato de texto puro que pode trafegar por sistemas que só suportam ASCII.

Casos de Uso Reais

Imagens embutidas em HTML/CSS

Em vez de um arquivo externo, você pode embutir imagens diretamente no HTML: <img src="data:image/png;base64,iVBORw0KGgo...">. Útil para ícones pequenos e para eliminar uma requisição HTTP extra.

Autenticação HTTP Basic

O header Authorization: Basic dXNlcjpzZW5oYQ== é o usuário e senha separados por ":" e codificados em Base64. Não é criptografia — qualquer pessoa pode decodificar. O propósito é apenas compatibilidade de formato, não segurança.

Tokens JWT

JSON Web Tokens (JWT) usam Base64 URL-safe para codificar o header e o payload. A versão URL-safe substitui + por - e / por _ para que o token possa ser usado em URLs sem percent-encoding.

Anexos de e-mail (MIME)

O protocolo de e-mail (SMTP) foi projetado para texto. Anexos binários (PDFs, imagens) são codificados em Base64 antes de serem incluídos na mensagem, garantindo compatibilidade com servidores de e-mail antigos.

Codifique e decodifique texto em Base64 agora.

Abrir Codificador Base64 →

Base64 Não é Criptografia

Esse é o erro mais comum. Base64 é reversível por qualquer pessoa sem nenhuma chave ou senha. Nunca use Base64 para "proteger" dados sensíveis. Para dados que precisam de proteção real, use criptografia adequada (AES, RSA) ou funções de hash criptográfico (SHA-256).