utildev
← Blog
Ferramentas de Texto5 min

O que é Base64 e quando usar?

Entenda o esquema de codificação Base64: como funciona, por que ele não é criptografia e quando deve ser usado em projetos reais.

Base64 é um esquema de codificação que transforma dados binários em uma sequência de caracteres ASCII legíveis. O nome vem do fato de usar um alfabeto de 64 caracteres: letras maiúsculas (A-Z), minúsculas (a-z), dígitos (0-9), mais os símbolos "+" e "/". O caractere "=" é usado como padding para garantir que o resultado tenha sempre comprimento múltiplo de 4.

Por que Base64 existe?

Muitos protocolos de comunicação foram projetados para transmitir apenas texto, não dados binários. O e-mail (SMTP), por exemplo, nasceu para transmitir texto ASCII. Quando surgiu a necessidade de enviar imagens ou arquivos anexados, foi preciso uma forma de representar binário como texto. Base64 foi a solução: ele converte qualquer sequência de bytes em uma string formada apenas por caracteres seguros para protocolos de texto.

Hoje, além do e-mail, Base64 é amplamente usado em APIs REST para transmitir dados binários dentro de JSON (que é um formato texto), em data URIs para embutir imagens diretamente em HTML ou CSS, em tokens de autenticação como Basic Auth, e em diversas partes de protocolos como JWT.

Como funciona o algoritmo?

O algoritmo pega 3 bytes (24 bits) de entrada e os converte em 4 caracteres Base64 (6 bits cada). Se os dados de entrada não forem múltiplos de 3 bytes, o padding "=" é adicionado para completar o grupo de 4 caracteres. Isso gera um aumento de tamanho de aproximadamente 33%.

  • Converte cada byte para sua representação binária de 8 bits
  • Agrupa os bits em grupos de 6
  • Mapeia cada grupo de 6 bits para um caractere do alfabeto Base64
  • Adiciona "=" de padding se necessário
Entrada: "Man"
ASCII:   77  97 110
Binário: 01001101 01100001 01101110
Grupos:  010011 010110 000101 101110
Base64:  T      W      F      u
Resultado: "TWFu"

Base64 não é criptografia

Base64 é reversível sem nenhuma chave ou segredo. Qualquer pessoa com a string codificada pode decodificá-la imediatamente. Nunca use Base64 como forma de "esconder" dados sensíveis.

Este é o equívoco mais comum. Base64 apenas muda a representação dos dados — não os protege. Para dados sensíveis, use algoritmos de criptografia real como AES-256 ou, para senhas, funções de hash como bcrypt ou argon2. Usar Base64 para "ofuscar" dados dá uma falsa sensação de segurança e não oferece proteção alguma contra ataques.

Variante URL-safe

Existe também o Base64 URL-safe, que substitui "+" por "-" e "/" por "_". Essa variação é usada em JWTs e URLs porque os caracteres "+" e "/" têm significados especiais em URLs e podem causar problemas se não forem codificados explicitamente. A maioria das bibliotecas modernas suporta ambas as variantes.

Quando usar Base64 na prática

  • Embutir imagens em HTML/CSS como data URIs para evitar requisições HTTP extras
  • Enviar arquivos binários dentro de um campo JSON em APIs REST
  • Codificar credenciais no header Authorization: Basic em HTTP Basic Auth
  • Transmitir chaves públicas ou certificados em formatos PEM
  • Armazenar dados binários em bancos de dados que suportam apenas texto

Use a ferramenta de Base64 do UtilDev para codificar e decodificar texto diretamente no navegador, sem precisar instalar nada. Todo o processamento acontece localmente — seus dados não são enviados a nenhum servidor.

Ferramentas relacionadas

Base64
Codifique e decodifique strings em Base64

Artigos relacionados

Expressões regulares: guia prático para devs8 min →JSON: formatação, validação e boas práticas5 min →