Ir para o conteúdo principal

Sexta-feira, 28 de agosto de 2026

Tecnologia no mundo, explicada em português.

Ferramentas

Codificador e decodificador de URL

Aplique o percent-encoding a um texto para colocá-lo dentro de um endereço, ou desfaça a codificação para ler o que está escrito ali. Você escolhe entre codificar um valor isolado ou um endereço inteiro.

Tudo acontece no seu navegador. Nenhum dado digitado aqui é enviado à sysINFO ou a terceiros - não há servidor, upload nem registro. Você pode desconectar da internet e a ferramenta continua funcionando.

Para que serve

Um endereço da web aceita um conjunto pequeno de caracteres. Espaço, acento, cedilha, aspas, chaves e colchetes não podem aparecer crus; e sinais como a interrogação, a cerquilha, o e comercial e o sinal de igual até podem, mas com significado estrutural fixo. O percent-encoding, definido na RFC 3986, resolve o impasse trocando cada byte problemático pelo sinal de porcentagem seguido do valor hexadecimal daquele byte. É por isso que a palavra "operação" vira opera%C3%A7%C3%A3o na barra de endereços.

Na prática, isso importa toda vez que um endereço é montado a partir de dados variáveis: o termo digitado em uma busca, o nome de um arquivo, o valor de um filtro, um caminho de retorno passado como parâmetro. Sem codificar, um e comercial no meio do texto encerra o parâmetro e transforma o resto em outro campo; uma cerquilha corta tudo que vem depois, porque o navegador passa a tratar aquilo como âncora; e um espaço pode ser recusado pelo servidor ou convertido de formas diferentes por cada biblioteca no caminho.

A ferramenta faz os dois sentidos. Ao codificar, você decide se o texto é um valor solto que vai entrar dentro de uma URL ou um endereço já completo que só precisa ser saneado. Ao decodificar, ela devolve o texto legível, útil quando você recebeu um endereço longo em um chamado de suporte, em um registro de servidor ou em um link de rastreamento e quer entender que parâmetros ele carrega.

Como usar

  1. Escreva ou cole o conteúdo no campo Entrada.
  2. Deixe Codificar como componente marcado quando o texto for um valor que vai ocupar um pedaço da URL. Nesse modo a página usa encodeURIComponent, que escapa também dois-pontos, barra, interrogação, cerquilha, e comercial e sinal de igual.
  3. Desmarque a opção quando a entrada já for um endereço inteiro. Aí a página usa encodeURI, que preserva : / ? # & = justamente por serem estruturais na URL, e limita-se a codificar espaços, acentos e outros caracteres proibidos.
  4. Clique em Codificar ou em Decodificar. A decodificação é sempre completa, no estilo de decodeURIComponent, e não depende da caixa de seleção.
  5. Use Copiar resultado para levar a saída para a área de transferência e Limpar para esvaziar os dois campos.

Exemplos

O mesmo endereço nos dois modos

Entrada:
https://sysinfo.com.br/busca/?q=cloud e dados#topo

Com a opção marcada (encodeURIComponent):
https%3A%2F%2Fsysinfo.com.br%2Fbusca%2F%3Fq%3Dcloud%20e%20dados%23topo

Com a opção desmarcada (encodeURI):
https://sysinfo.com.br/busca/?q=cloud%20e%20dados#topo

Decodificando um parâmetro com acentos

Entrada:
relat%C3%B3rio+de+opera%C3%A7%C3%B5es

Resultado:
relatório de operações

O sinal de mais na decodificação

Entrada:   C%2B%2B e C%23
Resultado: C++ e C#

Entrada:   1+1
Resultado: 1 1

Notas técnicas

A codificação chama diretamente encodeURIComponent ou encodeURI do próprio navegador. O primeiro deixa intactos apenas letras, dígitos e os sinais - _ . ! ~ * ' e os parênteses; o segundo mantém, além desses, o conjunto reservado ; , / ? : @ & = + $ #. Vale notar um detalhe que pega muita gente: encodeURIComponent não escapa !, ', (, ) e *, embora a RFC 3986 os classifique como subdelimitadores. Alguns servidores e assinaturas de requisição esperam esses cinco caracteres escapados; nesses casos é preciso um tratamento adicional no seu código.

A decodificação faz uma troca antes de chamar decodeURIComponent: todo sinal de mais vira espaço. Essa é a convenção do formato application/x-www-form-urlencoded, usado por formulários HTML e por boa parte das strings de consulta. O preço é que um sinal de mais literal que não tenha sido codificado como %2B se perde na conversão. Se você está inspecionando um trecho de caminho, e não uma consulta, leve isso em conta.

Quando a entrada tem um por cento solto, um par incompleto ou uma sequência de bytes que não forma UTF-8 válido, o navegador lança URIError e a página avisa em vez de devolver texto corrompido. Isso é comum quando o valor foi cortado no meio no copiar e colar, ou quando a origem usou uma codificação de caracteres diferente de UTF-8, caso em que a recuperação correta depende de saber qual era essa codificação.

Perguntas frequentes

Qual é a diferença entre encodeURI e encodeURIComponent?

encodeURIComponent codifica tudo que não seja letra, dígito ou um dos sinais - _ . ! ~ * apóstrofo e parênteses. Ele trata o texto como um pedaço de dado, então dois-pontos, barra, interrogação, cerquilha, e comercial e sinal de igual viram %3A, %2F, %3F, %23, %26 e %3D. Já encodeURI preserva esses sinais, porque parte do princípio de que você está codificando um endereço inteiro e que eles têm papel estrutural ali.

Quando devo usar cada um dos dois modos?

Use o modo componente, que é o padrão da página, sempre que estiver preparando um valor para entrar dentro de uma URL: o termo de uma busca, o nome de um arquivo, um endereço de redirecionamento passado como parâmetro. Desmarque a opção quando quiser apenas sanear um endereço completo que já está montado, trocando espaços e acentos sem quebrar a estrutura dele.

Por que o sinal de mais virou espaço na decodificação?

Porque a decodificação desta página segue a convenção de formulários HTML, na qual o espaço é transmitido como sinal de mais. Antes de aplicar decodeURIComponent, cada mais é trocado por um espaço. O efeito colateral é que um mais literal que não esteja codificado como %2B se perde. Se você precisa preservar o mais, verifique se a origem o codificou corretamente.

Por que apareceu a mensagem de sequência percent-encoding inválida?

A função de decodificação do navegador exige que todo sinal de porcentagem seja seguido de dois dígitos hexadecimais válidos e que a sequência de bytes resultante forme UTF-8 correto. Um por cento solto, um par incompleto no fim do texto ou um recorte que cortou uma letra acentuada ao meio produzem esse erro. Confira se o valor foi copiado por inteiro.

Codificar a URL protege os dados que estão nela?

Não. O percent-encoding é apenas uma forma de representar caracteres, e qualquer pessoa reverte a operação sem senha nenhuma, inclusive nesta página. Ele não esconde nem embaralha informação. Além disso, endereços costumam ser gravados em históricos de navegador, registros de servidor e cabeçalhos de referência, então dados sensíveis não devem viajar na URL de jeito nenhum.

Todas as ferramentas

Página de ferramentas →

Todas gratuitas e executadas inteiramente no seu navegador.