Ferramentas de Codificação

Ferramentas para codificar e decodificar dados — Base64, codificação de URL e bases numéricas como binário e hexadecimal — tudo rodando inteiramente no seu navegador.

Tarefas rápidas

Um clique abre a ferramenta já configurada para a tarefa.

Ferramentas de Codificação Online - Base64 e URL no Navegador

Codificar não é criptografar. Não esconde nada e não protege nada. A função é pegar dados que quebrariam alguma coisa - um canal que só transporta texto, uma URL que trata & como separador, um cabeçalho de e-mail anterior ao Unicode - e transformá-los em caracteres que sobrevivem à viagem. As ferramentas desta categoria fazem isso nos dois sentidos, inteiramente dentro do seu navegador.

Essa distinção merece ser dita sem rodeios, porque é de longe o mal-entendido mais comum da área. Base64 é reversível por qualquer um, na hora e sem chave. Uma senha guardada como Base64 é uma senha guardada em texto puro com um passo a mais. Quem precisa de sigilo precisa de criptografia, não de codificação.

O que há nesta categoria

FerramentaO que fazQuando usar
Codificador Base64Converte texto e arquivos para Base64 e de volta, incluindo a variante segura para URLEmbutir uma imagem em CSS, ler uma chave de API ou passar dados binários por um campo só de texto
Codificador URLCodifica e decodifica URLs e valores de query stringUm link quebra no primeiro espaço, e comercial ou caractere não latino
Conversor de bases numéricasConverte entre binário, octal, decimal, hexadecimal e qualquer base até 36, e transforma texto em bytes e de voltaUm valor num dump hexadecimal, uma máscara de bits ou uma permissão precisa ser lido como número
Codificador de entidades HTMLEscapa texto para HTML com entidades nomeadas ou numéricas, e decodifica qualquer entidade de volta para textoUm exemplo de código, um comentário de usuário ou uma exportação mostra &lt; ou &amp; onde deveria mostrar < ou &

O que o Base64 realmente faz

Base64 pega três bytes de cada vez - 24 bits - e os reescreve como quatro caracteres de um alfabeto de 64: A-Z, a-z, 0-9, mais + e /. Como 64 é 2 elevado a 6, cada caractere de saída carrega exatamente seis bits. Quando a entrada não divide certo por três, a saída é completada com = para que o comprimento seja sempre múltiplo de quatro.

A consequência é aritmética, não opinião: a saída Base64 é cerca de 33% maior que a entrada. Codificar uma imagem de 300 KB para embutir numa folha de estilos gera aproximadamente 400 KB de texto. Isso custa de verdade e é a razão de embutir valer a pena em ícones pequenos e raramente em fotografias.

Os caracteres + e / são um problema dentro de URLs, onde já significam algo. A variante segura para URL troca por - e _ e geralmente descarta o preenchimento. É a usada pelos JSON Web Tokens, e confundir as duas é o motivo de um token às vezes falhar numa ferramenta e funcionar em outra.

O que a codificação percentual realmente faz

Uma URL tem gramática. ? abre a query string, & separa parâmetros, = liga nome a valor, # abre o fragmento, e espaço não é permitido de jeito nenhum. Quando um valor contém um desses caracteres, ele precisa ser escapado ou a URL passa a significar outra coisa. A codificação percentual troca o caractere por % seguido do valor do byte em hexadecimal: espaço vira %20, & vira %26, / vira %2F.

Texto não ASCII é codificado como seus bytes UTF-8, um %XX por byte. Um único caractere persa ou japonês costuma virar três escapes. É por isso que uma URL com um termo de busca em escrita não latina parece bem mais longa que o próprio termo.

A armadilha é saber que parte da URL você está codificando. Codificar a URL inteira transforma os :// e / em escapes e a destrói. Quase sempre você quer codificar um valor de parâmetro e montar a URL em volta. O codificador URL faz as duas coisas, mas a escolha é sua.

Bases numéricas: a codificação por baixo de todas as outras

Base64 e codificação percentual trabalham sobre bytes, e bytes costumam ser escritos em hexadecimal ou binário. O conversor de bases numéricas lê um valor em qualquer base e o mostra nas outras de uma vez, sem limite de 64 bits, e a aba Texto dele mostra os bytes UTF-8 por trás de uma string. É o jeito mais rápido de ver por que é ocupa dois bytes, por que %C3%A9 é a sua forma com codificação percentual e por que 0xFF é 255.

Onde você vai encontrar essas codificações

  • Data URI - data:image/png;base64,... embute uma imagem direto no HTML ou CSS e economiza uma requisição.
  • Autenticação básica HTTP - o cabeçalho é literalmente Basic seguido do Base64 de usuario:senha. Reversível por quem o vir, e por isso só cabe dentro de TLS.
  • JSON Web Tokens - três segmentos Base64 seguros para URL unidos por pontos. O payload é legível sem chave nenhuma.
  • Anexos de e-mail - o MIME transporta binário como Base64 desde o início dos anos 1990, e ainda transporta.
  • Query strings - qualquer termo de busca, destino de redirecionamento ou valor de filtro com espaço ou símbolo.
  • Arquivos de configuração e segredos - segredos do Kubernetes, chaves de contas de serviço e certificados são rotineiramente guardados em Base64.

Falhas comuns e suas causas

  • Codificação dupla. Um valor é codificado pelo seu código e de novo por um framework, e %20 vira %2520. Se você vê %25 numa URL, algo codificou um sinal de porcentagem que já era um escape.
  • Alfabeto Base64 errado. Um JWT que não decodifica costuma ser Base64 seguro para URL entregue a um decodificador padrão, ou o contrário.
  • Preenchimento ausente. Alguns produtores tiram o = final. Decodificadores rígidos rejeitam o resultado; os tolerantes recompõem.
  • Codificar a URL inteira. O esquema e o caminho ficam escapados e o link para de resolver.
  • Supor que é seguro. Base64 num cookie, num cabeçalho ou num arquivo de configuração é legível por qualquer um que consiga ler o arquivo.
  • Sinais de mais em query strings. Em dados de formulário + significa espaço; num caminho significa um mais literal. O mesmo caractere, dois significados.

Por que importa que isso rode localmente

As strings que as pessoas precisam codificar e decodificar são desproporcionalmente sensíveis: cabeçalhos de autorização, tokens de sessão, chaves de contas de serviço, URLs assinadas. Colar uma delas num site que a processa no servidor entrega uma credencial viva a um terceiro. As duas ferramentas daqui rodam no navegador - a entrada nunca sai da aba, e você pode verificar isso no painel de rede.

Categorias relacionadas

Perguntas Frequentes

Qual a diferença entre codificação Base64 e de URL?
Base64 converte dados binários ou de texto em um formato compacto e seguro para texto, usado em coisas como data URIs, e-mails e JSON. A codificação de URL (codificação percentual) escapa caracteres que não são seguros para uso direto em uma URL, como espaços e símbolos especiais.
Essas ferramentas de codificação são seguras para dados sensíveis?
Codificação não é criptografia — ela apenas muda o formato dos dados, não sua segurança. Qualquer pessoa pode decodificar texto em Base64 ou codificado em URL, então não confie nisso para proteger informações sensíveis. Todo o processamento acontece localmente no seu navegador de qualquer forma.
Posso decodificar dados que foram codificados em outro lugar?
Sim, desde que seja um texto Base64 ou codificado em porcentagem válido, essas ferramentas o decodificarão de volta à sua forma original.