Pular para o conteúdo
UtiliaTools

O que é codificação URL? Guia sobre percent-encoding em endereços web

A codificação URL (percent-encoding) é o mecanismo que garante que endereços web trafeguem com segurança pela internet, convertendo caracteres especiais em um formato universalmente transmissível. Todo desenvolvedor web lida com isso diariamente.

Por que a codificação URL existe

As URLs foram originalmente projetadas para conter apenas um conjunto limitado de caracteres do repertório ASCII. No entanto, a web moderna precisa transmitir dados que incluem espaços, caracteres acentuados, emojis e símbolos que não têm lugar em uma URL bruta. A codificação URL resolve esse problema substituindo caracteres inseguros por um % seguido de dois dígitos hexadecimais.

Como o percent-encoding funciona

Cada caractere que precisa ser codificado é convertido em seu valor em bytes (em UTF-8 para a maioria dos sistemas modernos) e representado como %XX, onde XX é o valor hexadecimal. Por exemplo:

  • Um espaço se torna %20
  • Um E comercial & se torna %26
  • O símbolo do euro € se torna %E2%82%AC (três bytes em UTF-8)
  • Uma barra / se torna %2F

Alguns caracteres são sempre seguros e nunca precisam de codificação: letras (A-Z, a-z), dígitos (0-9) e alguns caracteres especiais como -, _, . e ~.

Caracteres reservados e não reservados

A RFC 3986 define duas categorias:

  • Caracteres não reservados: Letras, dígitos, -, _, ., ~ — nunca precisam de codificação.
  • Caracteres reservados: :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, = — têm significado estrutural nas URLs e devem ser codificados quando usados como dados em vez de delimitadores.

Quando você deve codificar URLs

Cenários comuns que exigem codificação URL:

  • Parâmetros de consulta: Valores em pares ?chave=valor devem ser codificados para lidar com espaços e caracteres especiais.
  • Segmentos de caminho: Nomes de arquivo ou slugs com caracteres não-ASCII precisam de codificação.
  • Envio de formulários: Formulários HTML com application/x-www-form-urlencoded usam uma codificação ligeiramente diferente onde espaços se tornam +.
  • Redirecionamentos: Redirecionamentos no servidor com conteúdo gerado pelo usuário na URL.

Erros comuns

  • Codificação dupla: Codificar uma URL já codificada produz sequências %25 que corrompem os dados originais.
  • Codificar a URL inteira: Você deve codificar componentes individuais (caminho, valores de consulta), não a URL inteira incluindo :// e ?.
  • Confusão com o sinal de mais: Em strings de consulta, + representa um espaço em application/x-www-form-urlencoded, mas um + literal no caminho da URL.

Perguntas frequentes

Qual é a diferença entre codificação URL e codificação HTML?

A codificação URL converte caracteres para transmissão segura em endereços web usando notação de porcentagem (%XX). A codificação HTML converte caracteres para exibição segura em HTML usando entidades como & e <.

Devo codificar a URL inteira ou apenas partes?

Codifique componentes individuais — os segmentos de caminho e os valores de parâmetros de consulta — não a URL inteira. O protocolo, o host e os caracteres estruturais como ? e & devem permanecer sem codificação.

Por que um espaço se torna %20 em alguns casos e + em outros?

No percent-encoding (RFC 3986), um espaço é %20. Na codificação de formulários (application/x-www-form-urlencoded), um espaço é representado como +. Ambos são válidos, mas usados em contextos diferentes.

Guias relacionados

Experimente a ferramenta

Use nossa ferramenta gratuita para começar instantaneamente.

Codificador e Decodificador de URL →

Última atualização em 2026-09-27