Por que usar um codificador Base64?
Base64 representa dados binários como texto ASCII. É essencial para transportar arquivos, imagens ou dados em formatos que só aceitam texto (JSON, XML, emails, URLs).
Três casos de uso comuns:
- APIs e webhooks → Codificar payloads ou decodificar respostas Base64
- Autenticação HTTP → Verificar ou criar um cabeçalho
Authorization: Basic - Emails e MIME → Decodificar anexos codificados em Base64
Como usar o codificador/decodificador em 3 passos
Passo 1: Colar o conteúdo
Cole o texto a codificar ou a string Base64 a decodificar na área de entrada.
Para codificar:
user:password
Para decodificar:
dXNlcjpwYXNzd29yZA==
Passo 2: Escolher a operação
- Codificar em Base64: Transforma texto legível em Base64
- Decodificar Base64: Recupera o conteúdo original
Passo 3: Copiar o resultado
O resultado aparece instantaneamente. Para arquivos binários decodificados, salve o conteúdo com a extensão correta (.png, .pdf, etc.).
O que é Base64?
Base64 é uma codificação que representa bytes usando 64 caracteres: A-Z, a-z, 0-9, + e /. O sinal = é padding quando o comprimento não é múltiplo de 3.
Características:
- O tamanho aumenta cerca de 33% após a codificação
- O resultado contém apenas caracteres ASCII imprimíveis
- NÃO é criptografia - os dados permanecem legíveis
Exemplo de codificação:
Texto: "Olá"
Base64: "T2zDoQ=="
Variantes Base64
| Variante | Caracteres | Utilização |
|---|---|---|
| Padrão | A-Z, a-z, 0-9, +, / | Emails (MIME), certificados, dados gerais |
| URL-safe | A-Z, a-z, 0-9, -, _ | URLs, JSON, tokens JWT |
| MIME | Padrão + quebras de linha | Emails (76 caracteres por linha) |
Exemplos de utilização
Autenticação HTTP Basic
O cabeçalho Authorization: Basic espera credenciais codificadas em Base64:
Credenciais: admin:secret123
Base64: YWRtaW46c2VjcmV0MTIz
Cabeçalho: Authorization: Basic YWRtaW46c2VjcmV0MTIz
Data URL para imagens
Incorporar uma pequena imagem diretamente em HTML/CSS:
data:image/png;base64,iVBORw0KGgo...
Anexos MIME
Os emails codificam anexos em Base64:
Content-Transfer-Encoding: base64
SGVsbG8gV29ybGQh...
Resolução de erros comuns
| Problema | Causa provável | Solução |
|---|---|---|
| Decodificação falha | String URL-safe | Substitua - por + e _ por / |
| Padding ausente | Formato incompleto | Adicione = até o comprimento ser múltiplo de 4 |
| Resultado ilegível | Dados binários | Salve em arquivo com extensão correta |
| Codificação dupla | Codificado duas vezes | Decodifique uma segunda vez |
Boas práticas
- UTF-8: Use sempre UTF-8 para texto antes da codificação
- Sem segredos em texto simples: Base64 não é criptografia
- Data URLs: Limite a alguns KB para evitar páginas pesadas
- Validação: Verifique o formato (padrão vs URL-safe) antes de decodificar
FAQ - Perguntas frequentes
P: Base64 protege os meus dados?
R: Não. Base64 é codificação reversível, não criptografia. Qualquer pessoa pode decodificar os seus dados. Nunca armazene segredos sem criptografia prévia.
P: Por que o tamanho aumenta?
R: Base64 representa 3 bytes com 4 caracteres. O tamanho aumenta portanto cerca de 33%. É o custo da compatibilidade com texto.
P: Como decodifico um JWT?
R: Um JWT contém 3 partes separadas por pontos: header.payload.signature. Você pode decodificar o header e o payload individualmente (são Base64 URL-safe).
Ferramentas complementares
| Ferramenta | Utilidade |
|---|---|
| Conversor de maiúsculas/minúsculas | Converter texto em maiúsculas ou minúsculas |
| Gerador de slug | Transformar um título em URL limpo |
| Contador de palavras | Contar palavras e caracteres de um texto |
| JSON / YAML Formatter | Formatar ou converter JSON e YAML |
Recursos úteis
- RFC 4648 - Base Encodings (especificação oficial Base64)
- MDN - btoa() e atob() (funções JavaScript nativas)
Compromisso de privacidade
A sua entrada é enviada à API CaptainDNS exclusivamente para codificação ou decodificação. O conteúdo não é retido. Apenas métricas técnicas anônimas são registradas (tempo de processamento, tamanho da entrada).