Codificar e Decodificar Base64
Codifique e decodifique Base64 online com suporte UTF-8 correto (ç, acentos e emoji), variante URL-safe e arquivos. Tudo no seu navegador, sem enviar nada.
O que é Base64?
Base64 é um sistema de codificação que representa dados binários usando apenas 64 caracteres de texto imprimível (A–Z, a–z, 0–9, + e /), para poder transportá-los por canais que só aceitam texto.
A ideia é simples: os bytes são agrupados de três em três (24 bits) e divididos em quatro grupos de 6 bits, cada um traduzido para um desses 64 caracteres. Por exemplo, a palavra «Man» (bytes 77, 97, 110) vira «TWFu». Quando os bytes não são múltiplo de três, adiciona-se o preenchimento «=».
Base64 não comprime nem protege nada; na verdade, ocupa cerca de 33% mais espaço que o original. O seu valor está em que um dado binário (uma imagem, um arquivo) pode ser colocado dentro de um texto, um e-mail, um JSON ou uma URL sem se corromper.
Base64 NÃO é criptografia
É um erro muito comum achar que «codificar em Base64» oculta ou protege a informação. Não é assim: não há nenhum segredo, apenas uma forma diferente de escrever os mesmos dados. Por isso você nunca deve usar Base64 para guardar senhas, tokens privados ou dados sensíveis achando que estão seguros.
A confusão costuma aparecer com os tokens JWT, cujas partes estão em Base64 URL-safe: são lidas sem problema, não estão criptografadas. Se você precisa de segurança real, use criptografia (AES, RSA) ou funções hash, não Base64.
UTF-8, acentos e emojis
É aqui que muitas ferramentas falham. A função btoa() do navegador só entende caracteres Latin-1, então quebra ou corrompe o resultado assim que aparece um ç, um acento ou um emoji.
Esta ferramenta converte primeiro o texto em bytes UTF-8 com TextEncoder e depois em Base64, de modo que qualquer caractere (português, espanhol, chinês, emoji) é codificado e recuperado exato. Se você trabalha com dados antigos que usam Latin-1 (ISO-8859-1), pode escolher essa codificação nas opções.
Base64 URL-safe (base64url)
O Base64 padrão usa os caracteres «+» e «/», que têm um significado especial nas URLs e nos nomes de arquivo. A variante URL-safe (base64url, RFC 4648) os substitui por «-» e «_» e elimina o preenchimento «=», para que o resultado possa ser colado em um endereço web sem quebrá-lo.
É o formato que as partes de um token JWT usam. Marque a caixa «URL-safe» para gerá-lo; ao decodificar, a ferramenta aceita automaticamente tanto o padrão quanto o URL-safe, então você não precisa se preocupar com qual recebeu.
Para que serve o Base64
- Data URI: incorporar uma imagem diretamente no CSS ou HTML (
data:image/png;base64,…) para evitar uma requisição extra. - Autenticação básica (Basic Auth): o usuário e a senha são enviados em Base64 no cabeçalho HTTP (por isso use sempre HTTPS).
- E-mail e MIME: os anexos de um e-mail viajam em Base64.
- Tokens JWT: o cabeçalho e o corpo são Base64 URL-safe.
- APIs e JSON/XML: guardar dados binários dentro de um texto sem corrompê-los.
Se você trabalha com outras codificações, também tem o nosso conversor de texto em binário o tradutor de código morse e o codificador de URL.
Perguntas frequentes
Base64 é criptografia? Ele criptografa meu texto?
Funciona com ç, acentos e emojis?
O que é o Base64 URL-safe (base64url)?
Meu texto ou arquivo é enviado a algum servidor?
Posso converter uma imagem em Base64?
Por que dá erro ao decodificar?
Ferramentas relacionadas
Texto em Binário
Converta texto em binário e vice-versa (UTF-8).
Tradutor de Código Morse
Traduza texto para morse com som.
Gerador de Slug
Crie URLs limpas a partir de um texto.
Limpar Texto
Remova formatação e caracteres invisíveis.
Contador de Caracteres
Conte caracteres e bytes do seu texto.
Buscar e Substituir
Substitua texto com suporte a regex.