Porque usar um codificador Base64?
Base64 representa dados binários como texto ASCII. É essencial para transportar ficheiros, 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 descodificar respostas Base64
- Autenticação HTTP → Verificar ou criar um cabeçalho
Authorization: Basic - Emails e MIME → Descodificar anexos codificados em Base64
Como usar o codificador/descodificador em 3 passos
Passo 1: Colar o conteúdo
Cole o texto a codificar ou a string Base64 a descodificar na área de entrada.
Para codificar:
user:password
Para descodificar:
dXNlcjpwYXNzd29yZA==
Passo 2: Escolher a operação
- Codificar em Base64: Transforma texto legível em Base64
- Descodificar Base64: Recupera o conteúdo original
Passo 3: Copiar o resultado
O resultado aparece instantaneamente. Para ficheiros binários descodificados, guarde 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 |
|---|---|---|
| Descodificação falha | String URL-safe | Substitua - por + e _ por / |
| Padding em falta | Formato incompleto | Adicione = até o comprimento ser múltiplo de 4 |
| Resultado ilegível | Dados binários | Guarde em ficheiro com extensão correta |
| Codificação dupla | Codificado duas vezes | Descodifique 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 descodificar
FAQ - Perguntas frequentes
P: Base64 protege os meus dados?
R: Não. Base64 é codificação reversível, não criptografia. Qualquer pessoa pode descodificar os seus dados. Nunca armazene segredos sem criptografia prévia.
P: Porque é 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 descodifico um JWT?
R: Um JWT contém 3 partes separadas por pontos: header.payload.signature. Pode descodificar o header e 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 |
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 descodificação. O conteúdo não é retido. Apenas métricas técnicas anónimas são registadas (tempo de processamento, tamanho da entrada).