alltools.one
Web Development
2026-02-12
7 min
alltools.one Team
urlencodingweb-developmenthttpapi

Guia de URL Encoding: Por Que e Como Codificar URLs

Já se perguntou por que espaços em URLs se tornam %20 e o "e comercial" se torna %26? URL encoding (também chamado de codificação percentual) converte caracteres que não são seguros para URLs em um formato que servidores web podem interpretar.

Por Que URL Encoding É Importante

URLs podem conter apenas um conjunto limitado de caracteres ASCII. Caracteres especiais, espaços e texto não-ASCII precisam de codificação para serem transmitidos com segurança. Sem codificação, URLs quebram de formas imprevisíveis — um espaço pode truncar uma URL, um "e comercial" pode ser confundido com um separador de parâmetros.

Experimente nosso Codificador/Decodificador de URL para ver como qualquer texto se transforma quando codificado para URLs.

Quais Caracteres Precisam de Codificação?

Caracteres Seguros (sem necessidade de codificação)

Letras (A-Z, a-z), dígitos (0-9) e estes símbolos: -, _, ., ~

Caracteres Reservados (codifique quando usados como dados)

CaractereCodificadoFunção em URLs
:%3ASeparador de esquema
/%2FSeparador de caminho
?%3FInício da query string
#%23Identificador de fragmento
&%26Separador de parâmetros
=%3DSeparador de chave-valor
+%2BFrequentemente representa espaço
@%40Separador de informação de usuário
%%25Indicador de codificação

Sempre Codifique

Espaços (%20), caracteres não-ASCII (bytes UTF-8 codificados) e qualquer caractere fora do conjunto seguro.

URL Encoding na Prática

Parâmetros de Query

O caso de uso mais comum. Ao construir URLs de busca ou requisições de API:

https://api.example.com/search?q=hello%20world&lang=en

Dados de Formulário

Formulários HTML com method="GET" codificam os valores dos campos automaticamente. Espaços se tornam + na codificação de formulário (ligeiramente diferente da codificação percentual).

Segmentos de Caminho

Nomes de arquivos e identificadores de recursos em caminhos de URL também precisam de codificação. Um arquivo chamado meu relatório.pdf se torna meu%20relat%C3%B3rio.pdf na URL.

Codificação em Diferentes Linguagens

JavaScript:

encodeURIComponent('hello world & more')
// "hello%20world%20%26%20more"

decodeURIComponent('hello%20world')
// "hello world"

Python:

from urllib.parse import quote, unquote
quote('hello world & more')
# 'hello%20world%20%26%20more'

Erros Comuns

  1. Codificação dupla — Codificar uma URL já codificada transforma %20 em %2520
  2. Usar encodeURI em vez de encodeURIComponentencodeURI ignora caracteres reservados que importam em valores de query
  3. Não codificar o sinal + — Em URLs, + pode significar espaço. Codifique sinais de mais literais como %2B
  4. Esquecer caracteres não-ASCII — Caracteres Unicode precisam de codificação UTF-8 primeiro, depois codificação percentual

Perguntas Frequentes

Qual é a diferença entre encodeURI e encodeURIComponent?

encodeURI codifica uma URL completa, ignorando caracteres como :, /, ?, #. encodeURIComponent codifica tudo exceto caracteres não reservados — use-o para valores individuais de parâmetros de query.

Por que espaços às vezes se tornam + e às vezes %20?

A codificação de formulário (application/x-www-form-urlencoded) usa + para espaços. A codificação percentual padrão usa %20. Ambos são válidos em contextos diferentes.

Recursos Relacionados

Published on 2026-02-12
URL Encoding Guide: Why and How to Encode URLs | alltools.one