utilstuff.com
Voltar a Ferramentas Dev
Ferramentas de Desenvolvimento
Os seus dados permanecem no seu navegador.

Codificador / Decodificador Base64

Codifique texto para Base64 ou decodifique Base64 para texto.

O que é o Base64?

O Base64 escreve qualquer sequência de bytes com 64 caracteres seguros — A–Z, a–z, 0–9, + e / — mais = como preenchimento, para que dados binários possam circular em sítios que só aceitam texto, como campos JSON, e-mail, cabeçalhos HTTP e URLs data:. Cada 3 bytes passam a 4 caracteres, pelo que a forma codificada fica cerca de um terço maior do que o original. Esta ferramenta converte entre Base64 e texto UTF-8 ou bytes escritos em hexadecimal.

Como Usar o Codificador / Decodificador Base64

  1. Escolha um modo: Texto → Base64 e Base64 → Texto trabalham com texto UTF-8 legível; Hex → Base64 e Base64 → Hex trabalham com bytes em bruto escritos em hexadecimal, como chaves, hashes ou bytes de ficheiros e imagens.
  2. Cole a sua entrada, execute a conversão e copie o resultado. Depois de uma conversão bem-sucedida, ao mudar de modo o resultado passa para a entrada, para que o possa converter de volta ou para o outro formato.
  3. Se Base64 → Texto rejeitar uma entrada que sabe ser Base64 padrão, os bytes decodificados são provavelmente binários e não texto: use Base64 → Hex para os ver.

Notas Técnicas

  • Texto → Base64 codifica o seu texto em UTF-8 antes de o converter. Base64 → Texto decodifica os bytes como UTF-8 e só funciona quando formam UTF-8 válido; um texto guardado originalmente noutra codificação, como Latin-1 ou UTF-16, pode ser rejeitado ou aparecer com caracteres errados.
  • O decodificador aceita apenas Base64 padrão: os caracteres + e /, com preenchimento = para que o comprimento seja múltiplo de 4. Espaços e quebras de linha são ignorados, pelo que pode colar Base64 dividido em linhas tal como está. Não são aceites Base64 seguro para URL (Base64url, que usa - e _), entradas sem preenchimento nem prefixos data: — os segmentos de um JWT, por exemplo, são Base64url sem preenchimento e não podem ser colados diretamente. A codificação produz sempre Base64 padrão com preenchimento, numa única linha.
  • O Base64 pode conter bytes arbitrários, e não só texto. Quando os bytes decodificados são binários — uma chave, um hash, parte de um ficheiro ou de uma imagem —, Base64 → Texto normalmente apresenta um erro, embora o Base64 em si esteja correto; Base64 → Hex mostra esses bytes em hexadecimal minúsculo, dois dígitos por byte e sem separadores.
  • A entrada hexadecimal tem de ser formada por pares de dígitos hexadecimais (0–9 e a–f, em maiúsculas ou minúsculas), pelo que o número de dígitos tem de ser par. São permitidos espaços e quebras de linha entre os dígitos, mas não o prefixo 0x nem separadores de dois pontos (como em 48:65).
Importante: O Base64 é uma codificação, NÃO uma encriptação. Não fornece confidencialidade nem segurança.

Perguntas Frequentes

Para que serve o Base64?+

Usos comuns incluem incorporar pequenas imagens ou tipos de letra em HTML e CSS como URLs data:, anexos de e-mail (MIME), valores binários como chaves, certificados ou assinaturas dentro de JSON, XML ou cabeçalhos HTTP, e o par utilizador:palavra-passe da autenticação HTTP Basic. Para decodificar aqui um URL data:, cole apenas a parte que vem depois da vírgula.

Porque é que o meu Base64 não é decodificado?+

As causas habituais são Base64 seguro para URL, que usa - e _ em vez de + e /, a falta do preenchimento = (o comprimento tem de ser múltiplo de 4), um prefixo data: deixado antes dos dados ou — em Base64 → Texto — bytes decodificados que são binários e não texto UTF-8. Para entradas seguras para URL ou sem preenchimento, substitua - por + e _ por /, e acrescente = até o comprimento ser múltiplo de 4; para dados binários, use Base64 → Hex.

Esta ferramenta suporta Unicode e emojis?+

Sim. O texto é convertido em UTF-8 antes da codificação, pelo que as letras acentuadas e os emojis passam às suas sequências UTF-8 de vários bytes — é ocupa 2 bytes e a maioria dos emojis 4 — e a decodificação inverte o processo. Uma ferramenta que codifique o texto em UTF-16 ou Latin-1 produz um Base64 diferente para os mesmos caracteres.

Os meus dados são enviados para algum servidor?+

Não. Toda a codificação e decodificação é executada 100% localmente no seu navegador web. Nenhum dado é transmitido pela rede.