Codificador Base64

Codifique texto em Base64, no alfabeto padrão ou no seguro para URL, inteiramente no seu navegador.

Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.

O Base64 transforma bytes quaisquer em caracteres que sobrevivem a um canal de texto: um cabeçalho HTTP, uma string JSON, o corpo de um e-mail, um data URI. É uma codificação, não criptografia, e qualquer pessoa pode revertê-la na hora.

Como funciona

O texto é lido como bytes UTF-8 e, a cada três bytes, viram quatro caracteres de um alfabeto de 64 caracteres. Quando o comprimento não é múltiplo de três, o resultado é completado com um ou dois sinais "=". É por isso que a saída em Base64 é sempre cerca de um terço maior que a entrada.

O alfabeto seguro para URL da RFC 4648 troca "+" e "/" por "-" e "_" e elimina o preenchimento, para que o valor caiba em uma query string ou em um nome de arquivo sem precisar ser escapado de novo. Os JSON Web Tokens usam essa variante.

Exemplos

Caso Entrada Resultado
Credenciais de autenticação básica aladdin:opensesame YWxhZGRpbjpvcGVuc2VzYW1l
Texto com acento, codificado a partir dos bytes UTF-8 café Y2Fmw6k=

Perguntas frequentes

O Base64 protege os meus dados?

De jeito nenhum. É uma codificação reversível, sem chave e sem segredo. Tudo o que você codificar pode ser lido de volta por qualquer um que veja o valor, inclusive por esta página com um clique.

Por que a saída é maior que a entrada?

Quatro caracteres de saída carregam três bytes de entrada, então o resultado cresce cerca de 33%, mais até dois caracteres de preenchimento. Esse excedente é o preço de passar dados binários por um canal só de texto.

Qual alfabeto devo escolher?

O padrão para tudo o que trafega em um corpo ou em um cabeçalho. O seguro para URL quando o valor vai para uma URL, um nome de arquivo ou um JWT, para que "+", "/" e "=" não precisem ser codificados por cima.

Bom saber

  • Tudo acontece no seu navegador. O que você cola não é enviado, não é registrado e não é armazenado.

Fontes

Todas as ferramentas de Código