Como usar
- Cole uma URL ou um trecho de texto no campo de entrada.
- Escolha encodeURIComponent para valores de parâmetros, encodeURI para URLs completas ou Decodificar para reverter.
- Confira a análise da URL abaixo: componentes e parâmetros já decodificados.
- Copie o resultado com um clique.
Casos de uso
- Montar links com parâmetros que contêm espaços, acentos, & ou =.
- Ler URLs de redirecionamento e callbacks OAuth com parâmetros aninhados.
- Depurar UTM e parâmetros de rastreamento em campanhas.
- Verificar como um formulário serializou os campos enviados.
Conceitos técnicos
encodeURIComponent versus encodeURI
encodeURIComponent escapa todos os caracteres reservados (; , / ? : @ & = + $ #), sendo o correto para valores individuais de parâmetros. encodeURI preserva esses caracteres porque assume que você está codificando uma URL completa e só escapa o que é ilegal nela, como espaços e acentos.
Percent-encoding
Cada byte fora do conjunto permitido é representado como % seguido de dois dígitos hexadecimais. Caracteres não ASCII são convertidos para UTF-8 antes, por isso um ç vira %C3%A7 (dois bytes).
O sinal de + em query strings
No formato application/x-www-form-urlencoded, usado por formulários HTML, o espaço é codificado como +. O decodificador desta página trata + como espaço, compatível com URLSearchParams.
Perguntas frequentes
Por que recebo 'URI malformed' ao decodificar?
A entrada contém um % que não é seguido de dois dígitos hexadecimais válidos, ou uma sequência que não forma UTF-8 válido, como %E0%A4 incompleto.
Devo codificar a URL inteira com encodeURIComponent?
Não. Isso escaparia :// e /, quebrando a URL. Codifique apenas os valores dos parâmetros com encodeURIComponent.
Os parâmetros repetidos aparecem?
Sim. Cada ocorrência de uma chave repetida, como tag=a&tag=b, aparece em uma linha própria na tabela.