Codificador de URL

Transforme espaços, acentos e símbolos em sequências %XX seguras para query strings, trechos de caminho ou URLs inteiras.

Nível 0 · navegador · ilimitado
Conversão inversa
21 caracteres
Saída
p%C3%A3o%20de%20queijo%20%26%20caf%C3%A9%3F

Por que URLs precisam ser codificadas

Uma URL só pode ter um conjunto limitado de caracteres ASCII, e alguns deles têm funções: / separa trechos do caminho, ? começa a query, & e = separam parâmetros, # começa o fragmento. Para colocar um espaço, uma letra acentuada ou um & literal dentro de um valor, o caractere é trocado por % seguido dos seus bytes UTF-8 em hexadecimal. Um espaço vira %20, ç (dois bytes em UTF-8) vira %C3%A7 e & vira %26.

Use o escopo componente para um pedaço só, como o termo de busca em ?q= ou um nome de arquivo no caminho. Use URL inteira quando tiver um endereço completo com caracteres inseguros dentro e quiser manter a estrutura.

Exemplo resolvido

A busca pão de queijo & café numa query string precisa ser enviada como p%C3%A3o%20de%20queijo%20%26%20caf%C3%A9; sem codificar, o servidor veria o & como início de outro parâmetro. A URL https://exemplo.com.br/cardápio 2026.pdf vira https://exemplo.com.br/card%C3%A1pio%202026.pdf.

Como funciona

O escopo componente escapa todos os caracteres exceto o conjunto não reservado A–Z a–z 0–9 - . _ ~ da RFC 3986 §2.3, depois de codificar o texto em UTF-8. Ele equivale ao encodeURIComponent do JavaScript, mas também escapa ! ' ( ) *, que a RFC 3986 reserva. O escopo URL inteira equivale ao encodeURI e mantém os delimitadores : / ? # [ ] @ & = + $ ,. Espaços viram %20; a convenção do + vale só para formulários HTML. Tudo roda nesta aba.

Perguntas frequentes

Espaço vira %20 ou +?

Em URLs, %20. A forma com + só existe para envio de formulários HTML (application/x-www-form-urlencoded). Os decodificadores do site aceitam as duas.

Qual a diferença entre os dois escopos?

Componente escapa tudo que tem significado em URLs, inclusive / ? & =. URL inteira mantém esses delimitadores para o endereço continuar funcionando.

Por que meu texto foi codificado duas vezes (%2520)?

A entrada já estava codificada, então os sinais de % foram escapados de novo. Decodifique antes.

Quais caracteres nunca são codificados?

Letras A–Z e a–z, dígitos 0–9 e os quatro símbolos - . _ ~ (caracteres não reservados da RFC 3986).

Fontes

Revisado em 17 de out. de 2026 · vetores de teste fixtures/dev/url-encode/