Como decodificar ou codificar Base64
- Escolha Decodificar para transformar Base64 de volta em texto, ou Codificar para transformar texto em Base64.
- Cole sua entrada. O resultado é atualizado enquanto você digita. Espaços e quebras de linha no Base64 são ignorados, e um prefixo
data:…;base64,é removido automaticamente. - Ao codificar, ative Base64 seguro para URL se o resultado for para uma URL, um nome de arquivo ou um token.
- Clique em Copiar, ou em Usar o resultado como entrada para inverter a conversão e conferir se o original é recuperado.
- Para incorporar uma imagem ou uma fonte em HTML ou CSS, use Arquivo para Base64 e obtenha uma data URL completa.
O que é Base64?
Base64 representa qualquer sequência de bytes usando só 64 caracteres seguros: A–Z, a–z, 0–9, + e /. Ele existe porque muitos sistemas, como e-mail, JSON, XML e URLs, foram projetados para texto e podem falhar com dados binários crus. Cada 3 bytes (24 bits) se transformam em 4 caracteres de 6 bits, então o Base64 fica cerca de 33 % maior que o original. Quando a entrada não é um múltiplo de 3 bytes, sinais = de preenchimento são acrescentados no fim.
Exemplo prático
O texto Hi! são três bytes: 72, 105 e 33, ou em binário 01001000 01101001 00100001. Reagrupados em blocos de 6 bits, ficam 010010 000110 100100 100001 = 18, 6, 36, 33. No alfabeto do Base64, essas posições são S, G, k e h, então Hi! é codificado como SGkh.
Caracteres fora do alfabeto inglês ocupam mais bytes em UTF-8. A letra é são dois bytes (C3 A9) e é codificada como w6k=; o emoji da mão acenando 👋 são quatro bytes, e por isso Hello, World! 👋 vira os 24 caracteres SGVsbG8sIFdvcmxkISDwn5GL.
Unicode e entradas inválidas
As funções do navegador btoa e atob só entendem Latin-1 e geram um erro com emojis ou com quase qualquer texto que não seja inglês. Esta ferramenta converte primeiro o texto em bytes UTF-8, que é o que quase todo sistema moderno espera. Ao decodificar, ela confere a entrada e diz exatamente o que está errado em vez de devolver lixo:
- Caractere inválido, com a posição dele; por exemplo, um
*perdido ou aspas tipográficas coladas de um documento. - Comprimento errado: um único caractere sobrando nunca forma um byte, então a entrada foi cortada.
- Preenchimento errado: o
=só pode aparecer no fim, no máximo duas vezes. - Não é texto: os bytes são Base64 válido, mas não UTF-8, normalmente uma imagem ou um PDF. Você vê os primeiros bytes em hexadecimal;
ff d8 ff, por exemplo, é o começo de um JPEG.
Dicas
- Base64 não é segurança. Nunca o use para esconder senhas nem chaves de API; qualquer pessoa o decodifica em um segundo.
- Tokens JWT são formados por três partes em Base64 seguro para URL, separadas por pontos. Cole uma parte por vez para ler o cabeçalho ou o conteúdo.
- Data URLs servem melhor para arquivos pequenos. Ícones de poucos quilobytes podem ser incorporados sem problema; imagens grandes carregam mais rápido como arquivos separados, que o navegador pode armazenar em cache.
- Quebras de linha: o e-mail (MIME) quebra o Base64 a cada 76 caracteres. O decodificador ignora essas quebras, então você pode colá-lo como está.
Perguntas frequentes
Base64 é criptografia?
Não. Base64 é uma codificação que qualquer pessoa pode reverter na hora. Ela torna dados binários utilizáveis em formatos de texto, mas não esconde nem protege nada. Para proteger segredos, use criptografia de verdade.
Por que meu texto decodificado mostra caracteres estranhos em outros sites?
Muitos decodificadores tratam os bytes como Latin-1, e isso estraga os acentos e os emojis. Esta ferramenta codifica e decodifica o texto como UTF-8, então á, ç, ã, 日本語 e 😀 voltam exatamente como entraram.
O que é Base64 seguro para URL?
É uma variante que troca + por -, / por _ e costuma omitir o preenchimento =, para o resultado poder ser usado em URLs, nomes de arquivo e JSON Web Tokens sem escape. O decodificador aceita as duas variantes.
Meus dados são enviados?
Não. O texto e os arquivos são convertidos no seu navegador com funções nativas e nunca saem do seu dispositivo.