Codifique um texto ou arquivo em Base64, ou cole Base64 para decodificar. Acentos e emojis funcionam, e nada sai do seu navegador.
Até 5 MB. O arquivo não sai do seu dispositivo.
Funciona no seu navegador. Nada do que você digita é enviado a um servidor.
Como funciona
Codificar. O texto é convertido primeiro em bytes UTF-8, então todos os idiomas e emojis são aceitos. Depois os bytes são lidos de três em três (24 bits), divididos em quatro grupos de 6 bits, e cada grupo é escrito como um dos 64 caracteres. Se a entrada não for múltiplo de três bytes, a saída é completada com =.
Decodificar. Espaços e quebras de linha são ignorados, o preenchimento que falta é adicionado e o prefixo data:…;base64, é removido, então você pode colar Base64 direto de um e-mail, de um arquivo PEM ou de uma tag de imagem HTML. Se os bytes decodificados não forem texto válido (por exemplo, uma imagem), a ferramenta avisa e deixa você baixá-los como arquivo.
Arquivos são codificados byte a byte. Marque “Como URL data:” para receber um texto que pode ir direto num <img src> ou num url() do CSS.
Exemplos
Texto
Base64
foobar
Zm9vYmFy
foob
Zm9vYg==
café
Y2Fmw6k=
😀
8J+YgA==
subjects?_d
c3ViamVjdHM/X2Q= (seguro para URL: c3ViamVjdHM_X2Q)
new TextDecoder().decode(Uint8Array.from(atob(b), c => c.charCodeAt(0)))
Node.js
Buffer.from(s).toString('base64')
Buffer.from(b, 'base64').toString()
Python
base64.b64encode(s.encode()).decode()
base64.b64decode(b).decode()
Shell
echo -n 'texto' | base64
echo 'dGV4dG8=' | base64 -d
Perguntas frequentes
Para que serve o Base64?+
Ele transforma qualquer dado em texto simples formado por 64 caracteres seguros (A–Z, a–z, 0–9, + e /), para que dados binários como imagens ou chaves possam passar por sistemas feitos para texto, como e-mail, JSON, XML, URLs e HTML.
Base64 é criptografia?+
Não. Qualquer pessoa decodifica Base64 na hora; ele não esconde nada. Nunca use Base64 para proteger senhas ou dados pessoais.
Por que o Base64 é maior que o original?+
Cada 3 bytes viram 4 caracteres, então os dados codificados ficam cerca de 33% maiores, mais até dois sinais = de preenchimento no final.
O que é Base64 seguro para URL?+
Uma variante que troca + por - e / por _, e normalmente tira o preenchimento =, para que o resultado possa ser usado em URLs e nomes de arquivos sem escape. É comum em JSON Web Tokens (JWT). O decodificador desta página aceita as duas variantes automaticamente.
Por que o btoa() falha com meu texto em JavaScript?+
A função btoa() do navegador só aceita caracteres até o código 255, então um texto com emojis ou com a maioria das letras não latinas gera erro. É preciso codificar o texto em bytes UTF-8 antes, e é isso que esta ferramenta faz.