Ferramentas para Desenvolvedores

Codificar Base64

Codifique texto para uma string Base64.

Avalie esta ferramenta

Como usar Codificar Base64

  1. Digite ou cole seu texto.
  2. Copie o resultado em Base64.

Sobre Codificar Base64

Base64 é uma codificação, não uma criptografia. Ela não oferece segurança alguma — qualquer pessoa pode colar o resultado em um decodificador Base64 e lê-lo de volta imediatamente. Sua verdadeira função é representar dados arbitrários usando um alfabeto seguro de 64 caracteres, para que sobrevivam em sistemas construídos apenas para transportar texto: anexos de e-mail via MIME, data: URIs, imagens incorporadas em CSS ou HTML, e campos binários embutidos em JSON ou XML.

O custo é o tamanho. O Base64 empacota cada 3 bytes em 4 caracteres, então o resultado fica cerca de um terço maior que a entrada, com preenchimento de = no final para arredondar o comprimento até um múltiplo de quatro. Essa sobrecarga é exatamente o motivo pelo qual embutir uma imagem grande como uma data URI costuma ser uma troca ruim — você paga 33% a mais em cada byte para economizar uma requisição.

Este codificador usa o alfabeto padrão, que inclui + e /. Não é a variante segura para URL, que substitui esses caracteres por - e _, então, se você precisar de Base64URL, substitua esses dois caracteres depois. Seu texto é convertido em bytes UTF-8 antes da codificação, então emojis, acentos e escritas não latinas são todos codificados corretamente — uma chamada ingênua a btoa() simplesmente geraria um erro com eles. Tudo acontece no seu navegador, então colar um payload real aqui não o envia para lugar nenhum.

Perguntas frequentes

Base64 é uma forma de esconder ou proteger dados?

Não. É uma codificação reversível, sem chave e sem segredo. Qualquer pessoa que veja a string pode decodificá-la em segundos. Se você precisar de sigilo, criptografe os dados — o Base64 serve apenas para tornar bytes seguros de transportar por canais que só aceitam texto.

Por que o resultado é mais longo que a minha entrada?

O Base64 representa 3 bytes de dados com 4 caracteres, então custa cerca de 33% a mais do que os bytes brutos, mais o preenchimento. Essa sobrecarga é inevitável — é o preço de usar apenas caracteres ASCII seguros.

Isso produz um Base64 seguro para URL?

Não — ele usa o alfabeto padrão, com + e /. Ambos têm significado especial em URLs. Para obter a variante segura para URL, substitua + por - e / por _ no resultado, e remova o preenchimento = se quem for consumir o dado não quiser esse caractere.

Ela lida com emojis e textos em outros idiomas além do inglês?

Sim. O texto é primeiro codificado em bytes UTF-8 e depois em Base64, então qualquer coisa que você conseguir digitar funciona. Essa é a etapa que um btoa() simples pula, e é por isso que o btoa() gera erro com caracteres acima de U+00FF.

O que são os sinais de = no final?

Preenchimento. O Base64 trabalha em blocos de 3 bytes, e quando o comprimento da entrada não é um múltiplo de 3, o último bloco é preenchido para que o comprimento do resultado permaneça um múltiplo de 4. Você verá um ou dois caracteres =, nunca três.