Codificador e decodificador Base64
Codifique texto para Base64 ou decodifique Base64 de volta para texto. Compatível com UTF-8, aceita caracteres além do ASCII.
- Cole o texto ou a string Base64 no campo.
- Clique em Codificar para converter texto em Base64, ou em Decodificar para converter Base64 em texto.
- Marque "Seguro para URL" se o valor for usado em uma URL ou JWT — usa - e _ e omite o preenchimento.
- Clique em Copiar para colocar o resultado na área de transferência.
O que ele faz?
Base64 codifica bytes arbitrários em 64 caracteres ASCII imprimíveis, para que canais inseguros para binário (strings JSON, URLs, corpos de e-mail, variáveis de ambiente, autenticação HTTP Basic) possam transportá-los sem corrompê-los. Esta ferramenta lida corretamente com entrada UTF-8 — primeiro codifica sua string em bytes UTF-8 e depois codifica esses bytes em Base64, para que caracteres não-ASCII façam a ida e volta sem perdas. A saída é cerca de 33% maior que a entrada (a cada 3 bytes, 4 caracteres).
Exemplo
Codificando o texto "Hello, world!":
SGVsbG8sIHdvcmxkIQ== Codificando o mesmo texto com "Seguro para URL" ativado (sem preenchimento):
SGVsbG8sIHdvcmxkIQ Codificando o texto com emoji "café ☕":
Y2Fmw6kg4piV Por que minha string Base64 não decodifica?
- Divergência entre padrão e seguro para URL. Strings com - ou _ são base64url, não Base64 padrão. Alterne a caixa "Seguro para URL" para combinar.
- Preenchimento faltando. O comprimento de uma string Base64 padrão deve ser múltiplo de 4. SGVsbG8 falha; SGVsbG8= funciona. Adicione = até o comprimento ser divisível por 4.
- Espaços ou quebras de linha dentro do valor. Alguns sistemas quebram o Base64 a cada 76 caracteres com \n. A maioria dos decodificadores tolera isso, os mais estritos não. Remova os espaços antes de decodificar.
- Decodificado duas vezes sem querer. Decodificar U0dWc2JHOA== dá SGVsbG8, que também é uma string Base64. Se a saída ainda parecer Base64, decodifique novamente.
- Dados binários não-UTF-8. Se os bytes decodificados não forem UTF-8 válido (por exemplo, um cabeçalho PNG), decodificar como texto falhará ou mostrará lixo. Use uma ferramenta Base64 que lide com arquivos para binários.
- Aspas "espertas" ou reticências visíveis. Copiar de um processador de texto pode substituir " por aspas curvas ou cortar strings longas com reticências. Passe por um editor de texto simples primeiro.
Perguntas frequentes
Qual é a diferença entre Base64 padrão e Base64 seguro para URL?
O Base64 padrão (RFC 4648) usa + e /, e preenche com =. O Base64 seguro para URL (base64url) troca + por - e / por _, e normalmente omite o preenchimento para que a string sobreviva como caminho ou parâmetro de URL sem alterações. JWTs usam base64url. Marque "Seguro para URL" quando a saída for para uma URL.
Esta ferramenta lida com emojis e texto não-ASCII corretamente?
Sim. A entrada é primeiro codificada como bytes UTF-8, e então esses bytes são codificados em Base64. A decodificação inverte as duas etapas. Por isso colar "café" e decodificar o resultado devolve "café", não mojibake. Muitas ferramentas Base64 antigas assumem Latin-1 e corrompem tudo fora do ASCII.
Posso codificar um arquivo binário como imagem ou PDF?
Esta página codifica apenas texto. Para codificar um arquivo em Base64, use uma ferramenta que leia o arquivo como binário (ou o console do navegador com FileReader.readAsDataURL). Esta ferramenta é para strings — o caso típico é incorporar credenciais, configuração ou campos JSON.
Por que minha saída decodificada parece lixo?
Geralmente a entrada nem era Base64, ou era Base64 seguro para URL decodificado como padrão (ou vice-versa). Tente alternar a caixa "Seguro para URL". Outra causa comum é decodificar uma string que na verdade é binário codificado em Base64, não texto — nesse caso os bytes não são UTF-8 válido.
O preenchimento = importa?
O Base64 padrão preenche a saída para que seu comprimento seja múltiplo de 4. A maioria dos decodificadores aceita entrada sem preenchimento, mas alguns estritos rejeitam. O Base64 seguro para URL geralmente omite o preenchimento. Se um decodificador reclamar, adicione = até o comprimento ser divisível por 4, ou remova todos e tente de novo.
Vocês salvam o texto que eu codifico ou decodifico?
Não. Não guardamos nenhum texto colado aqui. Sua entrada é descartada no instante em que você fecha ou atualiza a página — nada é mantido, e não há registro do que você codificou ou decodificou. Para uma camada extra de confiança, confira nas ferramentas de desenvolvedor do seu navegador.