Ir para o conteúdo

Codificar e decodificar URL (url encode e decode)

Aplique ou desfaça o percent-encoding de um componente ou de um endereço completo, direto no navegador.

  • Roda no seu navegador

Entrada

0 de 20.000 caracteres

Calculado no navegador; o texto digitado não é enviado ao servidor para calcular.

Sentido

O que codificar (só ao codificar)

Resultado

O resultado aparece aqui.

Componente ou URI completo

O percent-encoding (RFC 3986) troca cada byte fora do conjunto seguro por % e dois dígitos hexadecimais. O modo componente codifica também os separadores; o modo URI completo os preserva, para não quebrar o endereço.

CaractereComponenteURI completo
(espaço)%20%20
&%26&
=%3D=
/%2F/
?%3F?
#%23#
+%2B+
%%25%25
é%C3%A9%C3%A9

Como o decode lê o texto

Cada %XX vira o byte correspondente (RFC 3986), e a sequência de bytes é lida como UTF-8: %C3%A9 vira é. O restante do texto passa sem mudança.

Entrada+ como espaçoResultado
a%20b%26c%3Dd%2F%C3%A9nãoa b&c=d/é
a+bnãoa+b
a+b%2Bcsima b+c

Mais ou espaço

Pela RFC 3986 o + é só um +. Formulários HTML e query strings usam + para espaço; marque a opção quando o texto vier de um formulário. O %2B é sempre um sinal de mais, com ou sem a opção.

Erros do percent-encoding

  • Escape truncado ou inválido, como 100% ou %G1, é recusado como formato inválido.
  • %FF sozinho não forma texto UTF-8 e é recusado: o byte ff não existe em UTF-8.
  • Texto vazio devolve resultado vazio.

Perguntas frequentes

Como fazer o url encode de um texto com acento?

Escolha o modo componente e digite o texto: pão de queijo vira p%C3%A3o%20de%20queijo. Cada letra acentuada gera dois bytes.

Como decodificar url com %20 e +?

O %20 sempre vira espaço. O + só vira espaço se você marcar a opção: a+b%2Bc dá a b+c com ela e a+b+c sem ela.

Por que o url decode acusa erro com %FF?

Porque os bytes decodificados precisam formar UTF-8 válido, e o byte ff nunca aparece em UTF-8. Texto codificado em Latin-1 costuma causar esse erro.