O que é Base64 e por que ele existe?

Um guia em linguagem simples sobre Base64: o que ele faz, por que e-mail, JSON e URLs precisam dele, como funciona num exemplo pequeno e por que nunca serve para proteger dados.

Desenvolvimento 6 min de leitura

Se você já viu uma sequência longa de letras e números terminando em um ou dois sinais de igual, como "SGVsbG8gd29ybGQ=", você já encontrou o Base64. Ele aparece em e-mails, páginas web, tokens de API e arquivos de configuração, e muita gente acha que é algo misterioso.

Neste guia você vai entender o que é Base64, por que ele foi criado, como funciona passo a passo, onde ele aparece e a coisa mais importante de lembrar: Base64 não é criptografia.

Codifique texto ou arquivos em Base64 Converta texto e arquivos para Base64 direto no navegador. Nada é enviado nem armazenado. Abrir o codificador Base64

O que é Base64?

Base64 é uma forma de escrever qualquer dado, como imagens, arquivos e texto, usando apenas 64 caracteres seguros: as letras maiúsculas A-Z, as minúsculas a-z, os dígitos 0-9 e os símbolos + e /. Um caractere especial, o =, às vezes é acrescentado no final como preenchimento (padding).

É uma codificação, não uma compressão nem um cadeado. Ele apenas muda a representação da mesma informação, que sempre pode ser convertida de volta ao original.

Por que o Base64 existe?

Computadores guardam tudo como bytes, e um byte pode valer de 0 a 255. Mas muitos sistemas foram feitos para transportar apenas texto simples. Bytes brutos podem conter caracteres de controle, quebras de linha ou valores que esses sistemas alteram, cortam ou rejeitam, corrompendo os dados no caminho.

O Base64 resolve isso usando só caracteres que sobrevivem em quase qualquer canal de texto. Casos típicos:

  • E-mail (MIME): anexos como fotos e PDFs são codificados em Base64 dentro da mensagem.
  • JSON e XML: não têm forma nativa de guardar dados binários, então arquivos viajam como strings Base64.
  • URLs e HTML/CSS: imagens pequenas podem ser embutidas direto na página como data URI.
  • Arquivos de configuração e cabeçalhos HTTP: lugares onde só texto imprimível é permitido.

Como o Base64 funciona, de forma simples

O Base64 lê os dados em grupos de 3 bytes, ou seja, 24 bits. Ele divide esses 24 bits em 4 grupos de 6 bits. Cada grupo de 6 bits é um número de 0 a 63, e esse número é procurado no alfabeto Base64 para escolher um caractere.

Assim, cada 3 bytes viram 4 caracteres. Se os dados não forem divisíveis por 3, um ou dois sinais = são adicionados no final como preenchimento. Como 4 caracteres substituem 3 bytes, o resultado fica cerca de 33% maior que o original.

Um exemplo pequeno, passo a passo

Pegue a palavra "Man". Em bytes, M = 77, a = 97 e n = 110, ou seja, 01001101 01100001 01101110 em binário. Reagrupados em blocos de 6 bits, ficam 010011, 010110, 000101 e 101110, que são os números 19, 22, 5 e 46.

No alfabeto Base64, esses números correspondem a T, W, F e u. Então "Man" vira "TWFu". Teste no codificador e você verá exatamente o mesmo resultado.

Dica: "Ma" vira "TWE=" e "M" vira "TQ==". Os sinais de igual mostram quantos bytes faltavam no último grupo.

Onde você vê Base64 no dia a dia

  • Data URIs: imagens embutidas em HTML ou CSS, como "data:image/png;base64,iVBOR...".
  • Tokens JWT: o cabeçalho e o conteúdo de um JSON Web Token são strings Base64URL separadas por pontos.
  • Autenticação básica: o cabeçalho HTTP "Authorization: Basic ..." leva "usuário:senha" codificado em Base64.
  • Anexos de e-mail: cada arquivo anexado viaja como texto Base64 dentro da mensagem.
  • APIs e certificados: conteúdo de arquivos em JSON e chaves e certificados PEM entre as linhas "BEGIN" e "END".

Base64URL: a variante segura para a web

Os caracteres + e / têm significado especial em URLs e nomes de arquivo, e o = pode atrapalhar em query strings. O Base64URL resolve isso trocando + por - e / por _, e muitas vezes omite o preenchimento =.

Ele é usado em tokens JWT, parâmetros de URL e nomes de arquivo. Se uma string Base64 tem - ou _ e não decodifica, provavelmente é Base64URL: troque os caracteres de volta ou escolha a opção correspondente.

Base64 não é criptografia

Este é o ponto mais importante. O Base64 não tem chave nem segredo: qualquer pessoa decodifica em um segundo, com uma ferramenta gratuita ou uma linha de código. Ele só faz os dados parecerem ilegíveis à primeira vista.

Nunca use Base64 para esconder senhas, tokens, dados pessoais ou qualquer coisa privada. Se os dados precisam de proteção, use criptografia de verdade e transporte seguro, como HTTPS.

Atenção: "SGVsbG8=" não está escondido, é apenas "Hello" de outra forma. Se você vir uma senha em Base64, trate-a como uma senha em texto puro.

Como codificar e decodificar Base64 em 3 passos

  1. Abra o codificador Base64 para converter, ou o decodificador Base64 para ler uma string Base64. Os dois funcionam inteiramente no navegador.
  2. Cole seu texto (ou escolha um arquivo) e execute a conversão. Para decodificar, cole a string Base64 exatamente como a recebeu.
  3. Copie o resultado. Se a decodificação falhar, verifique se falta preenchimento, se há espaços extras ou os caracteres - e _ do Base64URL.

Erros comuns a evitar

  • Usar Base64 para proteger dados. É codificação, não segurança.
  • Erros de preenchimento: remover ou cortar os sinais = pode tornar a string impossível de decodificar em ferramentas rigorosas.
  • Quebras de linha ou espaços copiados junto com a string. Algumas ferramentas quebram linhas a cada 76 caracteres; remova-as se a decodificação falhar.
  • Misturar texto e bytes: o texto precisa virar bytes com uma codificação como UTF-8 antes. Se acentos ou emojis aparecerem quebrados depois de decodificar, as codificações não coincidiram.
  • Misturar Base64 padrão e Base64URL, que usam caracteres diferentes para os valores 62 e 63.
  • Esquecer o tamanho: o Base64 adiciona cerca de 33%, então não é uma boa forma de guardar ou enviar arquivos muito grandes.

Conclusão

O Base64 existe para levar dados binários por canais que só entendem texto. Ele transforma cada 3 bytes em 4 caracteres seguros, deixando os dados cerca de 33% maiores, mas capazes de viajar por e-mail, JSON, URLs e páginas web. Use-o por compatibilidade, nunca por sigilo, e aproveite o codificador e o decodificador gratuitos sempre que precisar converter algo rapidamente.

Perguntas frequentes

Base64 é criptografia?

Não. Base64 é uma codificação sem chave nem segredo, então qualquer pessoa decodifica na hora. Nunca use para proteger senhas ou informações sensíveis.

Por que o Base64 termina com sinais de =?

O = é preenchimento. O Base64 trabalha em grupos de 3 bytes e, quando o último grupo está incompleto, um ou dois sinais = completam o tamanho para que seja múltiplo de 4.

Por que o Base64 fica cerca de 33% maior que o original?

Porque cada 3 bytes de dados são escritos como 4 caracteres. É 4 dividido por 3, um aumento de aproximadamente um terço, mais um pouco extra do preenchimento.

Qual a diferença entre Base64 e Base64URL?

O Base64URL troca + por - e / por _, e geralmente dispensa o preenchimento =, para poder ser usado com segurança em URLs e nomes de arquivo. Os tokens JWT usam essa variante.

É seguro usar uma ferramenta Base64 online?

É seguro quando a ferramenta roda no seu navegador e não envia seus dados a um servidor. Nosso codificador e decodificador funcionam localmente no seu dispositivo e não armazenam nada.

Ferramentas grátis citadas neste artigo

Continue lendo

Todos os artigos