🌐 Idioma: 🇧🇷 Português

URL Encode / Decode 2026

Codifique e decodifique URLs, query strings e componentes. Analisa parâmetros e estrutura da URL automaticamente.

Analisador de URL

🔗 O que é URL Encoding (Codificação de URL)?

URL Encoding (também chamado de Percent-Encoding) é o processo de converter caracteres especiais ou não seguros em um formato que pode ser transmitido pela internet de forma segura e padronizada. Ele substitui caracteres problemáticos por um sinal de % seguido de dois dígitos hexadecimais que representam o código ASCII do caractere.

Caractere OriginalCodificado (Encoded)Motivo da Codificação
Espaço ( )%20 (ou + em query string)URLs não podem conter espaços literais.
E comercial (&)%26O & é usado para separar parâmetros na query string.
Igual (=)%3DO = é usado para atribuir valor a um parâmetro.
Interrogação (?)%3FO ? marca o início da query string.
Barra (/)%2FA barra é um separador de caminho (path). Se fizer parte de um valor, deve ser codificada.
Cedilha (ç) / Acentos%C3%A7 / %C3%A3 / %C3%A9Caracteres não-ASCII são codificados em UTF-8.

⚖️ encodeURI() vs encodeURIComponent(): A Diferença que Todo Dev Precisa Saber

No JavaScript, existem duas funções principais para codificação. Usar a função errada pode quebrar sua URL ou gerar vulnerabilidades.

FunçãoCaracteres NÃO CodificadosQuando Usar
encodeURI()A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #Para codificar uma URL inteira que já está montada. Preserva a estrutura (://, /, ?, &, =).
encodeURIComponent()A-Z a-z 0-9 - _ . ! ~ * ' ( )Para codificar valores de parâmetros (query string) ou partes específicas da URL. É mais agressiva.
❌ Erro Comum: encodeURI em Query String
URL: https://site.com/?nome=João & Silva
encodeURI() não codifica o & (E comercial), gerando uma URL inválida onde "Silva" vira um novo parâmetro vazio.
Correto: Use encodeURIComponent() no valor "João & Silva".
Resultado: https://site.com/?nome=Jo%C3%A3o%20%26%20Silva
✅ Exemplo Correto (fetch API)
const nome = "João & Silva";
const url = `https://api.exemplo.com/busca?q=${encodeURIComponent(nome)}`;
fetch(url);

Isso garante que o backend receberá o valor exato "João & Silva".
🛡️

Segurança (XSS): Sempre use encodeURIComponent() ao inserir dados do usuário em uma URL ou atributo href. Isso previne ataques de Cross-Site Scripting (XSS) que poderiam injetar código malicioso via parâmetros não sanitizados.

📋 Query String: Como Interpretar os Parâmetros de uma URL

A Query String é a parte da URL que começa após o caractere ?. Ela contém pares chave=valor separados por &.

ESTRUTURA DE UMA URL
https://www.exemplo.com:443/caminho/recurso?chave1=valor1&chave2=valor2#secao
https: (Schema/Protocolo)
//www.exemplo.com:443 (Host/Authority)
/caminho/recurso (Path/Caminho)
?chave1=valor1&chave2=valor2 (Query String)
#secao (Fragment/Hash)

Use o Analisador de URL acima para visualizar e decodificar automaticamente todos os parâmetros de uma URL complexa, incluindo UTM tags do Google Analytics.

💼 Casos de Uso: Quando Você Precisa de URL Encoding?

🌐 APIs REST (fetch / axios)
Parâmetros de busca com espaços ou acentos: ?cidade=São Paulo?cidade=S%C3%A3o%20Paulo
📧 Links em E-mails Marketing
UTM tags com nomes de campanha: utm_campaign=Lançamento Verão 2026utm_campaign=Lan%C3%A7amento%20Ver%C3%A3o%202026
📝 Formulários HTML (GET)
O navegador codifica automaticamente, mas você pode precisar decodificar no backend (PHP: urldecode(), Python: unquote()).
🐞 Debugging
Recebeu uma URL com vários %20, %3A? Cole no Decodificador para entender o que está sendo passado.

Perguntas Frequentes sobre URL Encode/Decode

Ambos representam um espaço, mas em contextos diferentes:
- Na Query String (após o ?), o espaço pode ser codificado como + (ex: ?q=ol%C3%A1+mundo). Essa é uma convenção histórica do tipo de conteúdo application/x-www-form-urlencoded.
- Em outras partes da URL (caminho, domínio), o espaço deve ser codificado como %20.
Recomendação: Use sempre %20 para garantir compatibilidade total. Nossa ferramenta segue o padrão %20 (RFC 3986).
Use a opção encodeURI (ou modo "URL completa" na ferramenta). Ela preserva os caracteres estruturais como ://, /, ?, &, =. Exemplo: https://site.com/arquivo nome.pdfhttps://site.com/arquivo%20nome.pdf. Note que a barra não foi codificada.
Porque a codificação é feita em UTF-8. O caractere "ç" (U+00E7) em UTF-8 é representado por dois bytes: 0xC3 0xA7. Cada byte é convertido para hexadecimal e prefixado com %, resultando em %C3%A7. Isso garante que qualquer caractere do mundo (emojis, mandarim, árabe) possa ser transmitido.
Não há função nativa simples. Use nossa ferramenta para colar a URL, decodificar e copiar o resultado. Em Google Sheets, você pode usar =IMPORTDATA() com uma URL codificada, mas para decodificar texto puro, é mais fácil usar nosso conversor online.
SIM. Se a barra faz parte do valor do parâmetro, ela deve ser codificada como %2F para não ser confundida com um separador de caminho. Exemplo: ?path=/home/user?path=%2Fhome%2Fuser. Use encodeURIComponent().
URL Decode é o processo inverso: transforma %20 de volta em espaço, %26 em &, etc. Use para:
  • Ler parâmetros de uma URL recebida em um sistema legado.
  • Depurar links de rastreamento (ex: UTM tags) para ver os nomes reais das campanhas.
  • Limpar dados antes de exibir em um relatório.

📌 Resumo: Boas Práticas de URL Encoding

1️⃣
Use encodeURIComponent() para valores de parâmetros. Evite quebras com & e =.
2️⃣
Use encodeURI() para a URL inteira. Preserva a estrutura hierárquica.
3️⃣
Nunca confie em dados do usuário sem sanitizar. Codifique para prevenir XSS.
4️⃣
UTF-8 é o padrão universal. Acentos e emojis são codificados em múltiplos bytes.

Veja também