Pular para o conteúdo

Base64

Codifique e decodifique texto em Base64.

Sobre a ferramenta

Base64 representa dados binários usando apenas letras, números e alguns símbolos, o que facilita enviar conteúdo por e-mail, URLs e APIs. Esta ferramenta codifica e decodifica texto em UTF-8, então acentos e emojis funcionam.

Como usar

  1. Cole o texto ou o Base64 na caixa.
  2. Clique em “Codificar” ou “Decodificar”.
  3. Clique no resultado para copiá-lo.

Como a codificação funciona

O Base64 pega os dados de três em três bytes (24 bits) e os divide em quatro blocos de 6 bits. Cada bloco vira um dos 64 caracteres do alfabeto: A a Z, a a z, 0 a 9, + e /. Quando a quantidade de bytes não é múltipla de três, o final recebe um ou dois sinais de igual (=) como preenchimento.

O resultado é cerca de 33% maior que o original: a cada três bytes de entrada saem quatro caracteres. É o preço pago para que o conteúdo passe por canais que só aceitam texto.

Onde o Base64 é usado

  • Anexos de e-mail, que são codificados para viajar dentro de uma mensagem de texto.
  • Imagens embutidas em HTML e CSS com data URIs (data:image/png;base64,…).
  • Autenticação HTTP Basic, que envia usuário e senha em Base64 no cabeçalho.
  • Tokens JWT, que usam a variante Base64URL.
  • Arquivos e binários enviados dentro de JSON em APIs.

Base64 e Base64URL

Os caracteres + e / têm significado especial em URLs, e o = também. Por isso existe a variante Base64URL, que troca + por -, / por _ e geralmente omite o preenchimento. É ela que aparece em JWTs e em parâmetros de links.

Se a decodificação de um texto que veio de uma URL falhar, vale conferir se ele não está em Base64URL: trocar - por + e _ por / costuma resolver.

Exemplo passo a passo

O texto “Panda” vira UGFuZGE= em Base64. O Base64 lê os bytes do texto em grupos de três e converte cada grupo em quatro caracteres do alfabeto (A–Z, a–z, 0–9, + e /). Como “Panda” tem cinco bytes, o último grupo fica incompleto e é completado com o sinal de igual (=).

Textos com acentos são primeiro convertidos para bytes UTF-8, e por isso “Olá” (quatro bytes, pois o á ocupa dois) vira T2zDoQ==. Nas duas contas, a regra é a mesma: três bytes de entrada geram quatro caracteres de saída, o que faz o Base64 ficar cerca de 33% maior que o original.

Perguntas frequentes

Base64 é criptografia?

Não. É só uma codificação reversível por qualquer pessoa. Não use para esconder informação.

Por que a decodificação dá erro?

O texto pode ter caracteres fora do alfabeto Base64 ou não representar um texto UTF-8 válido, como acontece com arquivos binários.

Por que o Base64 termina com =?

Porque a conversão trabalha em grupos de três bytes. Quando sobram um ou dois bytes no final, o resultado é completado com um ou dois sinais de igual para manter o tamanho múltiplo de quatro.

O Base64 deixa o arquivo maior?

Sim, em cerca de 33%. Cada três bytes viram quatro caracteres, então embutir uma imagem grande em Base64 aumenta o tamanho da página.

Outras ferramentas