Como usar
- Cole o texto ou o link em Texto ou URL.
- Escolha Codificar ou Decodificar em Ação.
- Para um valor só, como uma palavra de busca, mantenha Escopo em Um valor. Para um link inteiro, escolha Uma URL inteira.
- Leia o Resultado, e a tabela Parâmetros da consulta quando o texto é um link com consulta.
O que o percent-encoding faz
Um endereço da web pode conter só um conjunto pequeno de caracteres. Todos os outros são escritos como um sinal de % e dois dígitos hexadecimais para cada byte da sua forma UTF-8. A letra ç, portanto, vira %C3%A7, e um espaço vira %20. As regras estão na RFC 3986, seção 2.1.
ç → bytes UTF-8 C3 A7 → %C3%A7
- Codificar com Um valor mantém só as letras de A a Z e de a a z, os dígitos de 0 a 9 e - _ . ! ~ * ' ( ) como estão.
- Decodificar transforma cada %XX válido de volta no seu byte, e os bytes de volta nas letras que formam.
Um valor ou uma URL inteira
Um valor codifica também os separadores (: / ? # & = e +), então um valor de consulta não quebra a estrutura do endereço. Uma URL inteira deixa esses separadores como estão, então o link mantém a sua forma. Ao decodificar uma URL inteira, um escape que representa um separador, como %2F, continua codificado, para que o link ainda signifique a mesma coisa.
Codificação de formulário e o sinal +
Formulários HTML escrevem um espaço como + e um sinal de mais como %2B. Em uma string de consulta escrita por um formulário, um + significa, portanto, um espaço. A opção Codificação de formulário lê e escreve essa regra. Quando ela está desligada, um + continua sendo um sinal de mais, como diz a RFC 3986.
O que a decodificação recusa
- Um sinal de % que não é seguido de dois dígitos hexadecimais, como o fim de %E0%A4%A.
- Escapes que não formam UTF-8 válido, como um byte isolado %FF.
- Um caractere quebrado, como metade de um emoji, que não pode ser codificado.
Exemplo resolvido: um link de busca
Codificar o valor Ankara & İzmir? com Um valor dá Ankara%20%26%20%C4%B0zmir%3F. O espaço, o e comercial, o İ maiúsculo (dois bytes em UTF-8) e o ponto de interrogação são todos codificados.
Decodificar https://example.com/ara?q=%C3%A7ay+kahve&page=2 com Uma URL inteira e Codificação de formulário marcada dá https://example.com/ara?q=çay kahve&page=2. A consulta tem dois parâmetros: q é çay kahve e page é 2.
| Entrada | Resultado |
|---|---|
| Ankara & İzmir? (Um valor, codificar) | Ankara%20%26%20%C4%B0zmir%3F |
| https://example.com/ara?q=%C3%A7ay+kahve&page=2 (decodificar) | https://example.com/ara?q=çay kahve&page=2 |
Perguntas frequentes
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURIComponent codifica todos os separadores, então serve para um valor de uma consulta. encodeURI mantém os caracteres que dão estrutura a uma URL, como : / ? # & e =, então serve para um link inteiro. Um valor é a primeira opção, e Uma URL inteira, a segunda.
Por que um espaço vira %20 em um lugar e + em outro?
%20 é o escape padrão de um espaço e vale em qualquer parte de uma URL. Um + significa espaço só na codificação de formulário, em strings de consulta escritas por formulários HTML. Marque Codificação de formulário quando o link vier de um formulário.
Por que %E0%A4%A é recusado?
O escape %E0 começa uma letra de três bytes, mas o texto termina depois de %A e o escape não está completo. Todo sinal de % precisa de dois dígitos hexadecimais, e cada byte tem de pertencer a um caractere UTF-8 completo.
Meu link é enviado para algum servidor?
Não. O seu navegador faz a codificação e a decodificação, então links que levam tokens ou dados privados ficam no seu aparelho.
Por que um sinal de mais continua nos parâmetros decodificados?
Com a Codificação de formulário desligada, um + continua sendo um sinal de mais, como a RFC 3986 o define. Muitos formulários web escrevem espaços como +, então marque a opção para ler esses links como o formulário pretendia.
Fontes
- RFC 3986 (em inglês): Uniform Resource Identifier (URI): Generic Syntax, section 2.1 (IETF)
- ECMA-262 (em inglês): encodeURI, encodeURIComponent and decodeURI in the ECMAScript specification
- WHATWG (em inglês): URL Standard, application/x-www-form-urlencoded parsing
Números e texto verificados pela última vez em terça-feira, 10 de novembro de 2026.