Sobre esta ferramenta
Espaços, acentos, &, = e a maioria dos símbolos não podem ir crus numa URL — precisam virar sequências %XX (percent encoding). A escolha crítica é qual função: encodeURIComponent escapa tudo, incluindo &, = e ?, e é a correta para valores de parâmetros; encodeURI mantém a estrutura da URL e serve apenas para codificar uma URL completa.
Confundi-las é um bug clássico: encodeURI num parâmetro quebra silenciosamente valores com & ou =. Leia a comparação completa em encodeURI vs encodeURIComponent. O analisador de query string decodifica cada parâmetro de uma URL colada numa tabela editável — mude um nome ou valor e a URL completa é reconstruída. Tudo roda no navegador — mais ferramentas em dec0de.dev.
A codificação de URL (por porcentagem) substitui os caracteres que quebrariam uma URL por um % seguido do valor do byte em hex — um espaço vira %20, um e-comercial %26. É assim que você coloca com segurança termos de busca, alvos de redirecionamento, tokens e texto não-ASCII num link ou query string. Caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =), espaços e tudo fora do conjunto não reservado (letras, dígitos e - _ . ~) são codificados; o resto fica legível.
Perguntas frequentes
encodeURIComponent ou encodeURI — qual usar?
Use encodeURIComponent para um único valor de consulta ou segmento de caminho — codifica &, =, ?, / e mais. Use encodeURI só para uma URL inteira que você não quer quebrar. Codificar um valor com encodeURI é um bug clássico.
Por que um espaço às vezes é %20 e às vezes +?
No caminho de uma URL, um espaço é %20. Numa query string no formato form-urlencoded, um espaço costuma ser escrito como +. Ambos decodificam para um espaço, e o botão «+ significa espaço» alterna entre os dois modos.
Posso codificar uma lista inteira de valores de uma vez?
Sim. Ative «Lote: um valor por linha» e cada linha é codificada ou decodificada de forma independente, mantendo a ordem e as linhas em branco. O resultado pode ser copiado ou baixado como arquivo de texto.
Quais caracteres realmente precisam ser codificados?
Caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =), espaços, texto não-ASCII e caracteres de controle. O conjunto não reservado — letras, dígitos e - _ . ~ — fica sempre como está.
Por que a decodificação falha com «escape inválido»?
Um % deve ser seguido de exatamente dois dígitos hex, e os bytes resultantes precisam formar UTF-8 válido. Um % literal não codificado (escreva %25), uma sequência truncada como %2 ou bytes de outro charset quebram a decodificação. Esta ferramenta nomeia a sequência problemática e sua posição, e leva você até ela.
Meus dados de URL ficam privados?
Sim. Codificação, decodificação e análise de query string rodam no seu navegador. Sua entrada é lembrada apenas no local storage deste navegador para sobreviver a um recarregamento — o botão Limpar apaga tudo. Nada é enviado a lugar algum.