Pular para o conteúdo
BassoHub
Ferramentas

Codificador e decodificador Base64

Codifique e decodifique Base64 online, grátis: texto com acentos e emoji (UTF-8), arquivos e imagens, Data URL e variante URL-safe. Tudo no navegador.

Codificador e decodificador Base64

O que converter
Direção

Para usar em URLs, nomes de arquivo e tokens JWT.

Formato do e-mail (MIME) e de chaves PEM.

Tudo roda no seu navegador: textos e arquivos não são enviados a nenhum servidor, não ficam salvos e a ferramenta funciona offline depois de carregada.

Como usar

  1. Na aba Texto, escolha Codificar e digite ou cole o conteúdo: o Base64 aparece na hora, sem botão. Acentos, emoji e qualquer idioma funcionam, porque o texto é convertido em UTF-8 antes.
  2. Para o caminho inverso, escolha Decodificar e cole o Base64. Pode vir com quebras de linha, espaços, sem o = do fim, no alfabeto URL-safe ou com o prefixo data:...;base64,: a ferramenta entende tudo isso.
  3. O botão Inverter joga o resultado de volta na entrada e troca a direção, útil para conferir se a ida e a volta batem.
  4. Na aba Arquivo, escolha um arquivo (ou arraste para a área pontilhada) para obter o Base64 puro ou uma Data URL pronta para colar no HTML, no CSS ou num JSON. No sentido contrário, cole um Base64 para reconstruir o arquivo: o tipo é detectado pelos primeiros bytes (PNG, JPEG, PDF, ZIP, MP3 e outros), imagens ganham pré-visualização e você baixa com o nome que quiser.

Se o Base64 tiver um caractere inválido, a ferramenta diz a posição exata (linha e coluna) e o botão Ir para o erro seleciona o caractere no campo.

O que é Base64 (e por que ele fica 33% maior)

Base64 é uma forma de representar bytes quaisquer usando só 64 caracteres seguros: A–Z, a–z, 0–9, + e /. A cada 3 bytes (24 bits) do original saem 4 caracteres de 6 bits cada. Por isso o resultado é sempre cerca de 33% maior que o original. Quando o número de bytes não é múltiplo de 3, o fim é completado com um ou dois =, o chamado padding.

Ele existe porque muitos canais foram feitos para texto: e-mail, JSON, XML, URLs, cabeçalhos HTTP. Mandar uma imagem "crua" por eles corromperia os bytes; em Base64, ela passa intacta.

Quando usar

  • Data URLs: embutir um ícone pequeno direto no HTML ou CSS (data:image/png;base64,...) e economizar uma requisição. Para imagens grandes, não compensa: o arquivo fica maior e não entra no cache separado.
  • E-mail (MIME): anexos viajam em Base64 com linhas de 76 caracteres. A opção "Quebrar linhas a cada 76 caracteres" gera exatamente esse formato, também usado em chaves e certificados PEM.
  • APIs JSON: JSON não tem tipo binário, então arquivos e assinaturas costumam ir como string Base64.
  • Autenticação HTTP Basic: o cabeçalho Authorization: Basic leva usuário:senha em Base64. Repare: é só codificação, qualquer um decodifica. Por isso Basic Auth só é aceitável sobre HTTPS.

A variante URL-safe

Os caracteres + e / têm significado especial em URLs e nomes de arquivo. A variante URL-safe (RFC 4648, seção 5) troca + por - e / por _, e normalmente dispensa o = do fim. É a usada em tokens JWT, em links de redefinição de senha e em identificadores curtos. Marque "URL-safe" ao codificar; ao decodificar, a ferramenta reconhece o alfabeto sozinha.

Erros comuns

  • Achar que Base64 é criptografia. Não é: não existe chave nem segredo, e qualquer pessoa reverte em um segundo. Para proteger dados, use criptografia de verdade.
  • Acentos quebrados com btoa. A função btoa() do JavaScript só aceita caracteres Latin-1 e falha (ou gera lixo) com "ç", "ã" ou emoji. O certo é converter o texto para UTF-8 antes, como esta ferramenta faz. Se você recebeu um Base64 que decodifica com "ç" no lugar de "ç", ele provavelmente foi gerado em Latin-1.
  • Quebras de linha e espaços colados junto não são erro: o decodificador ignora, inclusive os espaços invisíveis que vêm de PDF e e-mail (espaço não separável, de largura zero). Base64 copiado de uma URL, com %2B, %2F e %3D no lugar de +, / e =, também é lido. Já um caractere fora do alfabeto (como um * ou um ç) indica texto corrompido.
  • + que virou espaço. Base64 padrão colocado numa URL sem codificar perde os +: o servidor lê cada um como espaço, e o resultado sai errado sem nenhum aviso. Em URLs, prefira a variante URL-safe.
  • Padding: o = só pode aparecer no fim, no máximo duas vezes. Base64 cortado ao copiar costuma deixar um caractere sobrando, o que é impossível: a ferramenta avisa "tamanho impossível".
  • Misturar alfabetos: um texto com + e também - geralmente é a junção de dois trechos diferentes.

Privacidade

Toda a conversão acontece no seu navegador. Textos e arquivos não são enviados a nenhum servidor, nada fica salvo e, depois que a página carrega, a ferramenta funciona até sem internet. Mesmo assim, lembre que Base64 não esconde nada: trate um Base64 de senha ou documento com o mesmo cuidado do original.