Base64 padrão (RFC 4648)
O alfabeto clássico usa A–Z, a–z, 0–9, o sinal de mais (+) e a barra (/), com um ou dois sinais de igual (=) de preenchimento no fim quando necessário. É o formato dos anexos de e-mail MIME, de muitos arquivos PEM de certificados e do padrão original — quando alguém diz apenas 'Base64' sem qualificar, geralmente é este o formato referido.
Ele funciona em qualquer contexto que aceite texto puro, com uma exceção importante: lugares onde + e / têm significado especial — o que nos leva diretamente à próxima variante.
Na prática, você encontra o Base64 padrão em certificados digitais, anexos de e-mail e saídas de comandos de terminal. Quando for gerar sequências para esses contextos, mantenha o padding e evite a variante URL-safe — a interoperabilidade com sistemas antigos agradece.
Base64 URL-safe
A variante URL-safe troca + por hífen (-) e / por sublinhado (_), e normalmente omite o preenchimento com =. Ela nasceu para trafegar em URLs, nomes de arquivo e tokens sem precisar de escape: um JWT, por exemplo, usa exatamente essa variante em suas três partes separadas por pontos.
Converter entre o padrão e o URL-safe é trivial — basta trocar os caracteres correspondentes — mas esquecer de fazer a conversão é um erro clássico que gera falhas de 'assinatura inválida' em autenticações. Sempre confira qual variante o sistema de destino espera.
MIME e as quebras de linha a cada 76 caracteres
O padrão MIME original quebra a saída Base64 a cada 76 caracteres, herança direta da era dos e-mails em texto puro com limite de largura de linha. Anexos de e-mail ainda usam esse formato até hoje, mas JSON, URLs, CSS e bancos de dados modernos esperam a sequência contínua, sem quebras.
Se você está decodificando anexos antigos e vê quebras regulares a cada 76 caracteres, está olhando para Base64 no formato MIME — remova as quebras ou use um decodificador tolerante a espaços em branco.
Data URIs: Base64 dentro da web
O esquema data:[<tipo-mime>];base64,<dados> permite embutir arquivos diretamente em HTML e CSS, sem requisições separadas. Um ícone pequeno vira algo como data:image/png;base64,iVBORw0KGgo... e o navegador renderiza normalmente, como se fosse um arquivo externo.
A regra prática de uso: data URIs para assets de poucos kilobytes — ícones, logos minúsculos, texturas. Arquivos maiores continuam como URLs normais, porque o Base64 infla o tamanho em cerca de 33% e um CSS inchado anula o benefício.
Perguntas frequentes
Qual formato devo usar em uma API REST moderna?
O que a documentação da API pedir — na dúvida, URL-safe sem padding é o mais comum em tokens, parâmetros e payloads de autenticação.
Como converto Base64 padrão em URL-safe?
Troque + por -, / por _ e remova os = do fim. Para voltar ao padrão, faça o inverso e recomplete o padding até o tamanho total ser múltiplo de 4.
Data URI funciona em todos os navegadores?
Nos navegadores modernos, sim. Clientes de e-mail antigos podem ter limitações com data URIs grandes — teste antes de usar em campanhas de e-mail marketing.
Por que e-mails usam Base64 com quebras de linha?
Herança do padrão MIME dos anos 90, desenhado para linhas de texto de no máximo 76 caracteres. Anexos de e-mail modernos ainda seguem esse formato por compatibilidade.