utildev

Base64

Codifique e decodifique strings em Base64

Entrada
Saída

Sobre · Base64

Base64 é um esquema de codificação (não criptografia) que representa dados binários usando um alfabeto de 64 caracteres ASCII (A-Z, a-z, 0-9, + e /), com "=" como padding. Isso permite transmitir qualquer sequência de bytes por canais que só aceitam texto puro, como e-mail, JSON e URLs.

Historicamente, o Base64 surgiu para lidar com protocolos como o SMTP, que só transmitiam ASCII. Hoje é usado para embutir imagens em CSS/HTML como data URIs, enviar arquivos binários dentro de campos JSON em APIs REST e codificar credenciais no header Authorization: Basic.

É importante lembrar: Base64 não protege dados, apenas muda sua representação. Qualquer pessoa pode decodificar uma string Base64 sem nenhuma chave. Para dados sensíveis, use criptografia real (AES-256) ou, para senhas, funções de hash lentas como bcrypt.

Como funciona

1
O algoritmo pega grupos de 3 bytes (24 bits) da entrada.
2
Cada grupo de 24 bits é dividido em 4 blocos de 6 bits.
3
Cada bloco de 6 bits é mapeado para um caractere do alfabeto Base64 (64 valores possíveis: A-Z, a-z, 0-9, + e /).
4
Se a entrada não for múltiplo de 3 bytes, o caractere "=" é adicionado como padding para completar o grupo de 4.
5
O resultado final é cerca de 33% maior que os dados originais, mas seguro para transmitir como texto puro.

Perguntas frequentes

Qual é a diferença entre Base64 e criptografia?
Base64 é apenas codificação, não segurança. Não protege dados — apenas os torna legíveis em texto. Use criptografia real para dados sensíveis.
Quando devo usar Base64?
Para transmitir dados binários em formatos texto-only (JSON, XML, emails), embutir imagens em URLs/CSS, ou transferir dados entre sistemas.
Base64 funciona com caracteres especiais?
Sim! Funciona com qualquer texto, emojis e caracteres especiais. A codificação os trata como bytes UTF-8.
O que é a variante URL-safe do Base64?
Substitui "+" por "-" e "/" por "_", evitando conflitos em URLs. É usada em JWTs e a maioria das bibliotecas modernas já suporta essa variante.