Decodificador de URL
Cole uma URL ou query string com codificação percentual e leia o resultado decodificado enquanto digita, com caracteres UTF-8 e tudo.
Decodificar texto codificado em URL
URLs só podem carregar um conjunto limitado de caracteres, então todo o resto recebe codificação percentual: espaços, acentos, alfabetos não latinos e os caracteres que têm significado especial em uma URL, como &, = e ?. Arquivos de log, parâmetros de redirecionamento, tags UTM e erros de API estão cheios dessas sequências, e decodificá-las é o jeito mais rápido de ver o que foi realmente enviado.
Esta página abre o Codificador e Decodificador de URL configurado para decodificar enquanto você digita. Tudo roda no seu navegador.
Sequências codificadas comuns
| Codificado | Decodificado | Observação |
|---|---|---|
%20 ou + | espaço | O + só significa espaço em dados de formulário |
%2F | / | Uma barra dentro do valor de um parâmetro |
%3F %3D %26 | ? = & | Sintaxe de query usada como dado |
%25 | % | Um sinal de porcentagem literal, ou um indício de codificação dupla |
%C3%A9 | é | Dois bytes UTF-8 para um único caractere |
%E2%82%AC | € | Três bytes UTF-8 |
URLs com codificação dupla
Quando uma URL é colocada dentro de outra, por exemplo como parâmetro redirect ou url, ela muitas vezes é codificada duas vezes. Dá para reconhecer pelo %25 espalhado por toda parte: %252F é um %2F codificado, que por sua vez é uma barra codificada. Decodifique, veja se o %25 continua lá e decodifique de novo até ele sumir.
Quando a decodificação falha
O decodificador usa as mesmas regras do decodeURIComponent do navegador. Ele informa um erro se um sinal de porcentagem vier seguido de algo que não sejam dois dígitos hexadecimais, como em 100%, ou se os bytes não formarem UTF-8 válido, o que acontece com sistemas muito antigos que codificavam texto em Latin-1 (%E9 para é, em vez de %C3%A9).
Decodificação de URL em código
- JavaScript:
decodeURIComponent(s.replace(/\+/g, ' ')) - Python:
urllib.parse.unquote_plus(s) - PHP:
urldecode($s) - Java:
URLDecoder.decode(s, StandardCharsets.UTF_8)
Para inspecionar cada parâmetro de uma URL, decodifique primeiro a query string inteira. Para valores Base64 encontrados em URLs, que muitas vezes terminam em %3D, decodifique aqui e depois use Decodificar Base64.