100 % local — seus dados nunca saem do seu navegador

Decodificar URL — leia os parâmetros de um link

Decodifique texto com codificação por porcentagem para forma legível. O mais continua um mais: certo numa URL e errado em dados de formulário.

Instantâneo Privado Zero cookies

Entrada URL-encoded

Saída Text

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 %20 e 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.

Perguntas frequentes

Meus espaços voltaram como sinais de mais. Como corrijo?
Troque `+` por `%20` antes de decodificar. Sua entrada usa codificação de formulário, onde o mais significa espaço; esta ferramenta segue a de porcentagem, onde o mais é um mais. As duas convenções existem, e nenhuma se deduz só da string.
Por que não decodificar o mais como espaço e pronto?
Porque um mais também é um caractere legítimo num valor: num e-mail, num telefone, num termo de busca. Transformar todos em espaço corromperia dados codificados corretamente.
Por que 100% não decodifica?
Porque um sinal de porcentagem abre um escape e precisa ser seguido de dois dígitos hexadecimais. Aqui não é seguido de nada, então não há byte a produzir. A forma correta é `100%25`.

Conversores relacionados