0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
Configuração
Codifique e decodifique cadeias de texto para uso seguro em URLs. Componente codifica todos os caracteres reservados — ideal para valores de parâmetros de query. URL Completa preserva a estrutura da URL (esquema, barras, sinais de interrogação). Use + para espaços em formulários HTML (application/x-www-form-urlencoded).
Operação
Alcance
Espaços
0

Como funciona

A codificação de URL (percent-encoding) substitui os caracteres que não podem aparecer literalmente em um endereço por sequências %XX com seu valor de byte. Por exemplo, o espaço se converte em %20.

O alcance "Componente" escapa também os caracteres reservados (= & / ? #): use-o para o valor de um parâmetro. "URL completa" preserva a estrutura do endereço: use-a para uma URL inteira.

Nos formulários HTML o espaço é codificado como + (application/x-www-form-urlencoded); nos demais casos usa-se %20 conforme o padrão RFC 3986.

Exemplos

hola mundo & máshola%20mundo%20%26%20m%C3%A1sO "&" é escapado (%26) para não se confundir com um separador de parâmetros; "á" é codificado em UTF-8 (%C3%A1).
a=1&b=2a%3D1%26b%3D2
https://sitio.com/á b?x=1 2URL completa: https://sitio.com/%C3%A1%20b?x=1%202No modo "URL completa" são preservados ://, / e ?; só é escapado o que quebraria o endereço.

Casos de uso

  • Montar parâmetros de query de forma segura ao construir uma URL manualmente.
  • Codificar valores que contêm &, =, espaços ou acentos antes de enviá-los em uma requisição GET.
  • Decodificar uma URL para ler quais valores cada parâmetro carrega.
  • Preparar corpos application/x-www-form-urlencoded para o envio de formulários.

Perguntas frequentes

Qual é a diferença entre "Componente" e "URL completa"?

"Componente" (encodeURIComponent) escapa também =, &, /, ?, # — serve para um valor individual. "URL completa" (encodeURI) preserva esses caracteres estruturais — serve para uma URL inteira.

Quando se usa + e quando %20 para o espaço?

O + corresponde apenas ao corpo de formulários (application/x-www-form-urlencoded). No resto da URL, o padrão para o espaço é %20.

Por que "á" se converte em %C3%A1 e não em um único %XX?

Porque é codificado em UTF-8: os caracteres não ASCII ocupam vários bytes, e cada byte é representado com sua própria sequência %XX.

Codificar uma URL a torna segura?

Não. Só a torna válida no nível da sintaxe. Não é criptografia nem protege o conteúdo de forma alguma.