Base64
Converte texto de e para Base64, incluindo uma variante segura para URL.
A saída aparecerá aqui
O que é Base64 e por que ele existe
Base64 é uma forma de representar qualquer dado binário usando apenas 64 caracteres simples e imprimíveis: A–Z, a–z, 0–9 mais dois símbolos. Ele existe porque muitos sistemas foram construídos para transportar texto, não bytes brutos. Corpos de e-mail, URLs, strings JSON, atributos HTML e cabeçalhos HTTP podem todos ser corrompidos por conteúdo binário arbitrário, mas deixam passar sem alterações o texto Base64. Codificar em Base64 torna os dados binários seguros para incorporar nesses canais somente de texto.
O compromisso é o tamanho: Base64 representa cada três bytes como quatro caracteres, então a forma codificada é cerca de 33% maior que a original. Isso é aceitável para payloads pequenos como tokens, imagens pequenas ou chaves, e é o motivo pelo qual arquivos grandes raramente são codificados em Base64 na prática.
É codificação, não criptografia
Esta é a coisa mais importante a entender sobre Base64: ele não oferece nenhuma segurança. Qualquer pessoa pode decodificar Base64 na hora — inclusive esta ferramenta. Ele não esconde nada nem protege nada. Se você precisa manter dados em segredo, criptografe-os; Base64 apenas torna os dados seguros para transporte, e codificar uma senha ou chave de API não a oculta.
Base64 padrão vs. seguro para URL
O Base64 padrão usa + e / como seus dois últimos caracteres e preenche o fim com sinais =. Esses caracteres têm significado especial dentro de URLs e nomes de arquivo, então uma variante segura para URL troca + e / por - e _ e normalmente remove o preenchimento. Use a opção segura para URL quando o valor codificado for aparecer em um endereço web, um parâmetro de consulta, um cookie ou um nome de arquivo. Os JSON Web Tokens, por exemplo, usam Base64 seguro para URL exatamente por isso.
UTF-8 e texto não ASCII
As funções integradas do navegador btoa e atob só lidam com Latin-1 e falham em caracteres como hebraico, árabe, chinês ou emojis. Esta ferramenta codifica o texto como UTF-8 primeiro, então qualquer caractere faz a ida e volta corretamente. Isso significa que שלום e 😀 são codificados e decodificados sem corrupção — uma fonte comum de "mojibake" (texto ilegível) quando se recorre às funções nativas do navegador.
- Codificar: digite ou cole texto legível e obtenha a forma Base64 dele.
- Decodificar: cole Base64 (padrão ou seguro para URL, com ou sem preenchimento) e recupere o texto original.
Perguntas frequentes
- Base64 é seguro ou criptografado?
- Não. Base64 é uma codificação reversível, não uma criptografia. Qualquer um pode decodificá-lo na hora, então nunca o use para proteger senhas, chaves ou dados pessoais.
- Ele suporta hebraico, árabe e emojis?
- Sim. O texto é codificado como UTF-8 antes do Base64, então caracteres como שלום e 😀 são codificados e decodificados sem corrupção, ao contrário da função btoa integrada do navegador.
- O que é Base64 seguro para URL?
- Ele substitui os caracteres + e / por - e _ e remove o preenchimento final, para que o resultado possa ser usado com segurança dentro de URLs, strings de consulta, cookies, nomes de arquivo e tokens como os JWT.
- Por que minha saída decodificada está vazia ou errada?
- Geralmente a entrada não é Base64 válido — pode estar truncada, conter caracteres de outro alfabeto ou ser, na verdade, texto simples. A ferramenta aceita entrada padrão e segura para URL e tolera preenchimento ausente, mas os bytes ainda precisam ser UTF-8 válido para serem exibidos como texto.
- Por que a string codificada é mais longa que a original?
- Base64 codifica cada três bytes como quatro caracteres, então a saída é cerca de um terço maior que a entrada. Esse acréscimo é inerente ao formato.
- Preciso dos caracteres de preenchimento (=)?
- O preenchimento torna o comprimento um múltiplo de quatro e é exigido por decodificadores rígidos, mas esta ferramenta aceita entrada com ou sem ele. O Base64 seguro para URL costuma omitir o preenchimento.
- Minha entrada é enviada para um servidor?
- Não. A codificação e a decodificação rodam inteiramente no seu navegador; nada do que você cola sai do seu dispositivo.