Fastway

Codificador e Decodificador Base64

O que é Base64?

O Codificador e Decodificador Base64 converte texto de e para Base64, o esquema de codificação que representa dados binários como caracteres ASCII simples. O Base64 está em todo lugar no desenvolvimento moderno: data URLs para imagens embutidas, JSON Web Tokens (JWT), anexos de e-mail, cabeçalhos de autenticação básica e payloads de API que precisam trafegar por canais de texto. Esta ferramenta codifica e decodifica UTF-8 completo, então caracteres acentuados, símbolos e emoji são preservados corretamente. O modo automático inspeciona sua entrada e decide se codifica ou decodifica, enquanto os modos manuais Codificar e Decodificar dão controle total. Tudo roda localmente no navegador, então até tokens sensíveis nunca saem do dispositivo.

Base64 é um esquema de codificação que converte dados binários — bytes com qualquer valor de 0 a 255 — em uma string de caracteres ASCII imprimíveis. Foi criado para transportar com segurança conteúdo binário (imagens, arquivos, código executável) por sistemas projetados para lidar com texto, como e-mail, URLs e atributos HTML. O nome vem do alfabeto de 64 caracteres que usa: A–Z, a–z, 0–9, + e /.

Erros comuns com Base64

Tratar como medida de segurança

Base64 não tem chave nem segredo. Qualquer coisa codificada pode ser decodificada instantaneamente por qualquer um, inclusive por esta página. Codificar uma senha ou uma chave de API antes de armazenar ou transmitir não acrescenta proteção alguma — só torna o valor mais difícil de reconhecer de relance, o que não é a mesma coisa.

Chamar btoa() em texto fora do Latin1

O btoa() nativo do navegador só aceita caracteres até U+00FF e lança InvalidCharacterError em qualquer coisa além disso. Qualquer palavra acentuada, qualquer emoji, qualquer caractere cirílico ou CJK quebra a chamada. A solução é converter para bytes UTF-8 primeiro com TextEncoder e codificar esses bytes — que é o que esta ferramenta faz.

Misturar o alfabeto padrão com o URL-safe

O Base64 padrão usa + e /, e os dois têm significado dentro de uma URL: o + é lido como espaço em query string e a / separa caminhos. A variante URL-safe troca ambos por - e _. Entregar a um decodificador o alfabeto errado produz bytes corrompidos em vez de um erro limpo, então a falha aparece longe da causa.

Esquecer que ele aumenta o payload

Três bytes viram quatro caracteres, então o dado codificado fica cerca de 33% maior que o original, mais o padding. Embutir uma imagem grande como data URL pode custar mais banda do que uma segunda requisição custaria, e ela não pode ser cacheada separadamente do documento que a carrega.

Alfabeto padrão vs URL-safe

As duas variantes codificam bytes idênticos; só três posições mudam. A RFC 4648 as define nas seções 4 e 5, respectivamente.

PosiçãoPadrão (RFC 4648 §4)URL-safe (§5)Por que muda
Índice 62+-O sinal de mais é lido como espaço em query strings
Índice 63/_A barra é separador de caminho em URLs
Padding= (obrigatório)= (muitas vezes omitido)Um = literal precisa de percent-encoding na URL
Índices 0-61A-Z a-z 0-9A-Z a-z 0-9Idênticos nas duas variantes

JWTs usam a variante URL-safe com o padding removido, e é por isso que um segmento de JWT colado num decodificador padrão pode falhar até você recolocar os caracteres =.

Como funciona a codificação Base64

O codificador lê a entrada três bytes de cada vez (24 bits) e os divide em quatro grupos de 6 bits. Cada valor de 6 bits mapeia para um caractere no alfabeto de 64 caracteres, produzindo quatro caracteres ASCII para cada três bytes. Se o comprimento da entrada não for múltiplo de três, um ou dois caracteres de preenchimento = são adicionados.

A decodificação inverte o processo: cada caractere mapeia de volta para seu valor de 6 bits, grupos de quatro são mesclados em 24 bits, depois divididos em três bytes. Os = informam ao decodificador quantos bytes reais estão no último grupo.

Codificação e Decodificação Localmente

Codificação e decodificação em Base64 rodam como algoritmos JavaScript no seu navegador. Os dados que você codifica ou decodifica são processados localmente na sua máquina e nunca enviados a servidores externos.

FAQ

Para que serve o Base64?

O Base64 codifica dados binários ou texto em uma string ASCII, muito usada em data URLs, anexos de e-mail, JWTs e payloads de API.

Suporta acentos e emoji?

Sim. O texto é primeiro convertido em bytes UTF-8 com TextEncoder, e são esses bytes — não os caracteres — que vão para a codificação. Esse passo extra importa: a chamada ingênua btoa() lança erro em qualquer caractere acima de U+00FF, e é por isso que implementações caseiras de Base64 quebram tanto em um cedilha ou em um emoji.

Meus dados são privados?

Sim, a codificação e decodificação ocorrem inteiramente no seu navegador e nada é enviado a nenhum servidor.

Base64 é uma forma de criptografia?

Não. Base64 é codificação, não criptografia. Muda a representação dos dados para transmissão como texto, mas qualquer pessoa pode decodificá-lo instantaneamente sem uma chave. Nunca dependa do Base64 para manter dados em segredo.