Converta texto em Base64 e Base64 de volta em texto, com suporte correto a acentos e emoji (UTF-8). A ferramenta também aceita Base64URL, usado em JWT e URLs, e explica o motivo quando a entrada é inválida. Tudo acontece no seu navegador.
Exemplos:
Base64 é codificação, não criptografia: qualquer pessoa consegue decodificar. O conteúdo não sai do seu navegador.
Como usar
- Cole o texto ou o Base64 no campo de entrada.
- Clique em Codificar para gerar Base64, ou em Decodificar para ler um Base64.
- Marque Base64URL se o valor vai para uma URL, um nome de arquivo ou um token JWT.
- Use Usar resultado como entrada para fazer a ida e a volta e Copiar resultado para levar a saída adiante.
Exemplos
| Texto | Base64 | Base64URL |
|---|---|---|
QA | UUE= | UUE |
Ação | QcOnw6Nv | QcOnw6Nv |
??> | Pz8+ | Pz8- |
Base64 não é criptografia
Base64 é só uma forma de representar bytes usando 64 caracteres seguros para texto. Não existe chave nem senha: qualquer pessoa decodifica o valor em um segundo. Por isso, credenciais em Base64 num cabeçalho Authorization: Basic, num arquivo de configuração ou num log estão, na prática, expostas. Para proteger um dado, é preciso criptografia de verdade e, no tráfego, HTTPS.
Como funciona
O texto é convertido em bytes UTF-8 com TextEncoder. Cada grupo de 3 bytes (24 bits) vira 4 caracteres de 6 bits do alfabeto A–Z a–z 0–9 + /. Quando sobram 1 ou 2 bytes no final, o resultado é completado com =. Por isso o Base64 fica cerca de 33% maior que o original.
Na decodificação, a ferramenta ignora espaços e quebras de linha, confere o alfabeto, a posição e a quantidade de = e o tamanho. Depois tenta ler os bytes como UTF-8 com TextDecoder em modo estrito. Se não for texto (uma imagem, um arquivo compactado), mostra os bytes em hexadecimal em vez de caracteres quebrados.
O Base64URL (RFC 4648, seção 5) troca + por - e / por _ e normalmente dispensa o =, para não conflitar com caracteres especiais de URL.
Uso em QA e desenvolvimento
- Ler o cabeçalho
Authorization: Basicde uma requisição capturada e conferir o usuário enviado. - Inspecionar partes de um JWT ou conteúdos de
data:URLs. - Montar payloads de API que recebem arquivos ou textos em Base64.
- Reproduzir bugs de acentuação: texto que vira
çcostuma ser UTF-8 decodificado como Latin-1.
Erros comuns
- Usar
btoa()direto com acentos: a função do navegador só aceita caracteres de 1 byte e falha com “ção” ou emoji. É preciso converter para UTF-8 antes, como esta ferramenta faz. - Misturar alfabetos: um valor com
+e-ao mesmo tempo foi corrompido ou montado errado. - Copiar pela metade: um Base64 cortado termina com tamanho inválido ou gera lixo nos últimos caracteres.
- Achar que
=é obrigatório: no Base64URL ele costuma ser omitido, e isso é válido.
Limitações
- A entrada aceita até 2 milhões de caracteres.
- Conteúdo binário é exibido em hexadecimal (até 512 bytes); a ferramenta não gera arquivos para download.
- Variantes antigas, como o Base64 com quebra de linha a cada 76 caracteres (MIME), são decodificadas, mas a codificação gera sempre uma linha única.
Perguntas frequentes
Base64 serve para esconder senhas?
Não. Base64 é reversível por qualquer pessoa, sem chave. Ele resolve um problema de transporte (bytes em canais de texto), não de sigilo.
Por que o resultado termina com = ou ==?
Porque o tamanho original não era múltiplo de 3 bytes. Um = indica que faltou 1 byte para completar o último grupo, e == indica que faltaram 2.
O que significa “não é texto UTF-8”?
Os bytes decodificados não formam texto válido: provavelmente são um arquivo binário, como imagem ou PDF, ou um texto em outra codificação.
Meu conteúdo é enviado para algum servidor?
Não. A conversão roda no JavaScript da página e nada é registrado.
Ferramentas relacionadas
- Decodificador de JWT: lê as partes Base64URL de um token.
- Formatador e validador de JSON: formate o JSON que saiu da decodificação.
