Pular para o conteúdo
ToolPika

Codificar e decodificar Base64

Codifique um texto ou arquivo em Base64, ou cole Base64 para decodificar. Acentos e emojis funcionam, e nada sai do seu navegador.

Modo
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)

Base64 no código

Linguagem Codificar texto Decodificar
JavaScript (navegador) btoa(String.fromCharCode(...new TextEncoder().encode(s))) 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.