O que esta ferramenta faz
Cada sequência %XX vira o byte que aqueles dois dígitos nomeiam, e os bytes resultantes são lidos como texto UTF-8. caf%C3%A9 dá café, porque a letra acentuada são dois bytes.
Dígitos hexadecimais funcionam em maiúsculas e em minúsculas.
O sinal de mais é o ponto a saber
Um mais continua um mais. Está certo — e provavelmente não é o que você esperava, então vale precisar por quê.
Duas codificações se parecem e divergem em exatamente um caractere:
- a de porcentagem, usada num caminho de URL e numa query string moderna, escreve o espaço como
%20e trata+como um mais literal; - a de formulário (
application/x-www-form-urlencoded), o que um formulário HTML envia, escreve o espaço como+.
Esta ferramenta aplica a primeira, igual ao decodeURIComponent no navegador.
Nada na string diz qual delas a produziu. Uma ferramenta que adivinhasse corromperia o outro caso: um mais é caractere legítimo num e-mail, num telefone, num termo de busca. Converter todo mais em espaço destruiria esses valores com a mesma certeza com que deixá-los intactos incomoda dados de formulário.
Então, se a sua entrada veio de um formulário, troque antes + por %20. Um localizar e substituir, e o resultado fica certo.
O que ela recusa
Um sinal de porcentagem sem dois dígitos hexadecimais depois. 100% não dá para decodificar: não há byte a produzir, e inventar um seria pior que um erro. A forma codificada corretamente é 100%25.
Uma sequência %XX que não forme UTF-8 válido também é recusada em vez de substituída por um marcador: assim você descobre que a entrada está danificada, em vez de ler um texto que nunca existiu.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.