100 % local — seus dados nunca saem do seu navegador

Texto para Base64 — seguro no cabeçalho ou corpo

Codifique texto em Base64, com variante segura para URL. O texto vira bytes UTF-8 antes, então acentos e emoji chegam intactos do outro lado.

Instantâneo Privado Zero cookies

Entrada Text

Saída Base64

O que esta ferramenta faz

O texto é convertido em bytes UTF-8 e esses bytes são codificados em Base64. A ordem dos dois passos importa: o Base64 codifica bytes, não caracteres, e é a contagem de bytes que determina a saída.

Por isso café dá Y2Fmw6k= — cinco bytes, não quatro, porque a letra acentuada ocupa dois.

A variante segura para URL

O Base64 padrão usa + e /, que têm sentido próprio dentro de uma URL. O alfabeto seguro para URL troca ambos por - e _, e abre mão do preenchimento =, igualmente incômodo numa query string.

Assim a vira YQ== no normal e YQ na variante. Decodificadores que entendem esse alfabeto aceitam a versão sem preenchimento — é o que a RFC 4648 pretende.

O que não é

Base64 não é criptografia. Não há chave, nada é segredo, e decodificar leva um passo com qualquer ferramenta, esta inclusive. É um jeito de levar bytes por um canal que só aceita texto: um data URI, um anexo de e-mail, um campo JSON.

Colocar uma senha ou um token em Base64 não protege nada. Só deixa o valor um pouco menos óbvio para quem passa o olho num log, e isso não é uma propriedade de segurança.

Tamanho

A saída fica cerca de um terço maior que a entrada, com o preenchimento. Um arquivo de 3 KB vira uns 4 KB de Base64 — vale saber antes de embutir uma imagem numa folha de estilos ou num data URI.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Base64 é uma criptografia?
Não, e achar que é costuma sair caro. Base64 é uma codificação de transporte sem chave e sem segredo: qualquer um decodifica num passo. Ela não esconde nada, só torna dados binários transportáveis num campo de texto.
Por que minha saída segura para URL está sem os sinais de igual?
Porque a RFC 4648 torna o preenchimento opcional no alfabeto seguro para URL, e um `=` solto já é problemático numa query string. Decodificadores que aceitam essa forma aceitam também a versão sem preenchimento.
Por que minha palavra de 4 letras virou 8 caracteres?
Dois efeitos se somam. O texto vira bytes UTF-8 primeiro, então uma letra acentuada custa dois em vez de um; depois o Base64 transforma cada 3 bytes em 4 caracteres. Conte com cerca de um terço a mais que o número de bytes.

Conversores relacionados