Ferramenta gratuita

    Codificador/Decodificador Base64

    Codificar texto para Base64 ou descodificar cadeias de caracteres Base64 — incluindo variantes compatíveis com URL.

    Codificação Base64

    O que é a codificação Base64?

    O Base64 é um esquema de codificação de binário para texto que representa dados binários utilizando 64 caracteres ASCII imprimíveis (A–Z, a–z, 0–9, +, /). É amplamente utilizado para incorporar dados binários em formatos baseados em texto, tais como JSON, XML, HTML, e-mail (MIME) e URIs de dados.

    Quando utilizar esta ferramenta

    Recorra a esta ferramenta Base64 sempre que precisar de incorporar um valor binário num transporte apenas de texto — seja para gerar cabeçalhos de autenticação básica, codificar uma chave de assinatura JWT, incorporar um pequeno ícone como um URI de dados, copiar um certificado TLS entre sistemas ou depurar uma carga útil de API que devolva blobs codificados em Base64. Como tudo é executado localmente no seu navegador, pode colar credenciais e cargas úteis confidenciais sem as enviar para um servidor de terceiros.

    Base64 padrão vs. Base64 seguro para URLs

    O Base64 padrão utiliza os caracteres + e /, que são reservados nas URLs. O Base64 seguro para URLs substitui-os por - e _ e remove o preenchimento final com =, tornando-o seguro para utilização em cadeias de consulta e nomes de ficheiros.

    Casos de utilização comuns

    • Codificação de chaves e tokens da API para transmissão em cabeçalhos HTTP
    • Incorporar imagens pequenas como URIs de dados em HTML e CSS
    • Codificação de anexos de e-mail (MIME Base64)
    • Armazenamento de dados binários em cargas úteis JSON
    • Descodificação de cargas úteis de tokens JWT para depuração
    • Geração de credenciais de autenticação HTTP básica (`Basic <BASE64(user:pass)>`)
    • Codificação de cargas úteis binárias em JSON quando não é possível efetuar um envio multiparte
    • Análise de tokens JWT — os segmentos de cabeçalho e de carga útil estão codificados em Base64, de forma segura para URLs

    Base64 Perguntas frequentes

    Perguntas frequentes sobre a codificação e descodificação Base64 e onde estas se aplicam em sistemas reais.

    Os meus dados são enviados para um servidor quando utilizo esta ferramenta?
    Não. Tanto a codificação como a descodificação são executadas inteiramente no seu navegador através das funções nativas `btoa` e `atob`. Os dados que colar nunca saem do seu dispositivo, o que torna a ferramenta segura para utilizar com chaves de API, tokens, credenciais ou qualquer outro conteúdo sensível que não queira que circule pela rede.
    Qual é a diferença entre o Base64 padrão e o Base64 «URL-safe»?
    O Base64 padrão utiliza `+` e `/` no seu alfabeto, além do preenchimento com `=`. Tanto o `+` como o `/` têm um significado reservado nas URLs, e o `=` é frequentemente codificado com o símbolo de por cento; por isso, incorporar uma cadeia de caracteres Base64 padrão num parâmetro de consulta ou num caminho pode corrompê-la. O Base64 seguro para URLs substitui `+` por `-`, `/` por `_` e remove o preenchimento final com `=` — produzindo um valor que passa por routers, linhas de registo e segmentos JWT sem sofrer alterações.
    Por que é que os dados codificados em Base64 ocupam cerca de 33% mais espaço do que os originais?
    A Base64 compacta 3 bytes (24 bits) de dados de entrada em 4 caracteres de saída (cada caractere contém 6 bits). A proporção é exatamente 4/3 ≈ 1,333, mais até 2 caracteres de preenchimento `=` quando o comprimento da entrada não é um múltiplo de 3. É por isso que se deve evitar o Base64 para cargas binárias de grande dimensão em que a largura de banda é importante — utilize, em vez disso, um transporte seguro para dados binários (carregamento multiparte, gRPC).
    Posso utilizar o Base64 para encriptação?
    Não. O Base64 é uma codificação, não uma encriptação — qualquer pessoa que veja o resultado pode facilmente revertê-lo para os bytes originais. Se precisar de proteger dados confidenciais, encripte-os primeiro (AES, ChaCha20-Poly1305 ou uma ferramenta de nível superior como a libsodium) e, em seguida, codifique o texto encriptado em Base64, caso seja necessário transportá-lo através de um canal apenas de texto.
    Por que é que o meu texto descodificado apresenta caracteres distorcidos?
    Existem duas causas comuns. Em primeiro lugar, o valor codificado pode ter ficado corrompido durante a transmissão — o Base64 é frágil e uma única alteração num caractere geralmente resulta numa sequência de bytes diferente. Em segundo lugar, os bytes de origem podem não ser texto UTF-8. Esta ferramenta descodifica partindo do princípio de que se trata de uma cadeia de caracteres UTF-8; se o original fosse um ficheiro binário (imagem, PDF, blob encriptado), o resultado parecerá ruído — o que é esperado. Guarde o resultado descodificado num ficheiro e abra-o com um visualizador adequado.
    Como posso codificar um ficheiro binário, como uma imagem?
    O navegador `btoa` requer uma entrada de cadeia de caracteres; por isso, colar aqui a representação textual do ficheiro não é suficiente para ficheiros binários. Para ficheiros PNG/JPEG/PDF e similares, utilize a API de ficheiros do navegador num pequeno script ou execute `Base64 < image.png` no macOS/Linux. A cadeia de caracteres resultante pode ser incorporada diretamente num URI de dados HTML ``.

    Monitorize a sua infraestrutura 24 horas por dia, 7 dias por semana

    Mantenha os seus servidores, APIs e serviços em funcionamento com a plataforma de monitorização da Xitoring.

    Iniciar monitorização gratuita