O que é esta ferramenta?
O Base64 é um esquema de codificação que converte dados binários ou de texto num conjunto de 64 caracteres ASCII seguros (A–Z, a–z, 0–9, + e /). É utilizado em todo o tipo de software: na incorporação de imagens em HTML/CSS, em cabeçalhos de autenticação HTTP Basic, em anexos de e-mail (MIME), em JSON Web Tokens e em cargas úteis de API que têm de ser transmitidas através de canais apenas de texto.
Importante: o Base64 é uma codificação, não uma encriptação. Qualquer pessoa pode descodificá-lo. O seu objetivo é garantir a segurança da transmissão de dados através de sistemas que apenas compreendem texto — não é para manter os dados em segredo.
Por que usar?
- Decodifique tokens da API, segmentos JWT e cabeçalhos de autenticação para ver o que contêm.
- Codificar texto para URIs de dados, arquivos de configuração ou cabeçalhos HTTP.
- Compatível com UTF-8: os emojis e os caracteres não latinos são codificados e descodificados corretamente.
- 100% privado — a conversão ocorre no seu navegador, nada é enviado.
- Gratuito, sem necessidade de registo, sem limites de tamanho.
Como usar
- Digite ou cole o seu conteúdo na caixa de entrada.
- Clique em «Codificar» para converter texto para Base64 ou em «Descodificar» para converter Base64 de volta para texto.
- Se a descodificação falhar, significa que a entrada não é um código Base64 válido — verifique se faltam caracteres ou se há espaços em branco a mais.
- Clique em «Copiar» para copiar o resultado.
Exemplo
Entrada
Hello, CodeKitHub! 你好 👋Resultado
SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GLRepare como os caracteres chineses e os emojis mantêm-se intactos ao longo do percurso de ida e volta — é essa a vantagem do UTF-8.
Dicas práticas
- Os tokens JWT são compostos por três segmentos Base64 separados por pontos — descodifique os dois primeiros (cabeçalho e carga útil) separadamente para os ler; o terceiro é uma assinatura binária e parecerá ruído.
- Se a descodificação falhar num segmento JWT, trata-se de uma codificação base64url: substitua primeiro o - por + e o _ por / (as ferramentas padrão esperam o alfabeto +/).
- Os espaços em branco e as quebras de linha dentro de uma cadeia Base64 são, normalmente, resíduos inofensivos provenientes de e-mails ou registos, mas a ausência do caractere de preenchimento «=» no final muitas vezes não o é — verifique o comprimento antes de assumir que os dados estão corrompidos.
- A codificação Base64 aumenta o tamanho dos dados em cerca de 33%. É adequada para cargas úteis pequenas; no caso de imagens com mais do que alguns KB, um arquivo real é quase sempre a melhor opção do que um URI de dados.
Cenários de utilização reais
Os três casos que levam as pessoas a recorrerem a isto diariamente: ler o conteúdo de um cabeçalho «Authorization» ou de um JWT, descodificar um campo de carga útil de um webhook/API que chegou encriptado em Base64 (muitas vezes em JSON — formatá-lo após a descodificação) e criar manualmente um URI de dados ou uma cadeia de caracteres de autenticação «Basic-Auth» durante a depuração.
No caso de dados binários (imagens, arquivos), tenha em conta que, ao descodificá-los como texto, o resultado será «mojibake» — os dados podem ser perfeitamente válidos, mas não são texto. A codificação/descodificação de dados binários deve ser feita no código; esta ferramenta está otimizada para casos de texto.
Como diagnosticar uma falha de descodificação
As falhas na descodificação Base64 devem-se quase sempre a uma de três causas, por ordem de frequência: a entrada era, na verdade, base64url (utiliza - e _ em vez dos caracteres padrão + e /, comum em JWTs e contextos «URL-safe») e é necessário trocar esses caracteres de volta antes que a descodificação padrão a aceite; a cadeia de caracteres foi truncada algures ao longo do processo (uma operação de copiar-colar que omitiu os últimos caracteres, ou uma linha de registo que foi cortada), o que é detetável porque o comprimento de uma cadeia Base64 válida é sempre um múltiplo de 4, uma vez contabilizado o preenchimento; ou foram introduzidos caracteres indesejados (espaços em branco a mais, uma nova linha indesejada, um caractere duplicado acidentalmente) durante a cópia, razão pela qual colar diretamente a partir de uma fonte bruta, em vez de voltar a digitar, é sempre mais seguro.
→ Formatador JSON · Codificador/Decodificador de URL · Decodificador JWT
Perguntas frequentes
O Base64 é uma forma de encriptação?
Não. O Base64 é uma codificação reversível que qualquer pessoa pode descodificar — não oferece qualquer segurança. Se precisar de proteger dados, utilize uma encriptação verdadeira (como o AES); o Base64 serve apenas para garantir a segurança dos dados durante o seu transporte na forma de texto.
Porque é que o resultado da minha descodificação parece um monte de porcaria?
Ou a entrada não está, de facto, em Base64, foi truncada, ou os dados originais eram binários (como uma imagem) em vez de texto. Os dados binários não são apresentados como caracteres legíveis.
O que significam os sinais «=» no final?
Preenchimento. O Base64 funciona em blocos de 3 bytes de entrada → 4 caracteres de saída. Quando o comprimento da entrada não é divisível por 3, um ou dois caracteres de preenchimento são adicionados ao bloco final.
Esta ferramenta funciona com emojis e caracteres chineses?
Sim. Primeiro, codifica o texto como bytes UTF-8, o que é a abordagem padrão. As ferramentas simples que utilizam diretamente a função btoa() falham com qualquer caractere que não pertença ao Latin-1 — esta, não.
Os meus dados são carregados em algum sítio?
Não. A codificação e a descodificação são realizadas inteiramente no seu navegador, através de JavaScript. Os seus dados nunca saem do seu dispositivo.