Pular para o conteúdo

Codificador e decodificador de Base64

Cole o texto e escolha codificar ou decodificar — funciona com acento, emoji e qualquer caractere, coisa que a maioria das ferramentas feitas só com btoa não garante.

O texto não sai do seu navegador — fechou a aba, sumiu.

O que fazer

Transforma texto comum em Base64.

O Base64 aparece aqui, enquanto você digita.

Nenhum texto ainda.

Por que emoji e aspas curvas travam outras ferramentas

A maioria das ferramentas de Base64 do navegador usa btoa direto em cima do texto. O problema é que btoa lê a string como uma sequência de code units UTF-16 e recusa qualquer um acima de 0xFF — que é exatamente a faixa onde moram emoji, travessão (—), aspas curvas (“ ”) e reticências tipográficas (…): tudo que o Word e o WhatsApp colocam no texto sem avisar. Nessas ferramentas, colar um texto assim trava com um erro que não diz o motivo.

O acento comum não trava — mas sai errado

Os acentos do português (á, é, ç, ã, õ, ê, â, ü) cabem dentro da faixa que btoa aceita, então ele não trava com eles — mas o resultado é OUTRO Base64, e um Base64 errado: ele lê “é” como um único byte, quando o Base64 de verdade lê “é” como dois bytes UTF-8. A string sai parecendo normal e decodifica de volta sem reclamar na mesma ferramenta que a gerou — o problema só aparece quando esse Base64 é decodificado em outro lugar (Python, outra ferramenta, um sistema que espera UTF-8, que é o padrão em praticamente tudo), e aí ele quebra ou vira texto ilegível. Aqui a conta sempre passa pelos bytes UTF-8 de verdade, então o Base64 que sai daqui é o mesmo que qualquer ferramenta padrão fora do navegador gera.

Quando a decodificação falha

Duas mensagens diferentes, para dois problemas diferentes. Se o texto colado tem um caractere fora do alfabeto do Base64 (A–Z, a–z, 0–9, + e /) ou o preenchimento com = está errado, ele nunca chega a virar byte nenhum. Se o texto É Base64 válido mas os bytes que ele decodifica não formam um texto UTF-8, quase sempre é porque o Base64 colado é de um ARQUIVO BINÁRIO — uma imagem, um PDF — e não de texto; a mensagem diz isso, em vez de só recusar.

O texto sai do meu computador?

Não. A conta inteira roda no seu navegador — não existe requisição, cadastro nem nada guardado depois que você fecha a aba.