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
Para usar em URLs, nomes de arquivo e tokens JWT.
Formato do e-mail (MIME) e de chaves PEM.
Para usar em URLs, nomes de arquivo e tokens JWT.
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
- 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.
- 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 prefixodata:...;base64,: a ferramenta entende tudo isso. - 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.
- 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: Basiclevausuário:senhaem 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çãobtoa()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,%2Fe%3Dno 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.