Voltar ao início Desenvolvedor Codificador URL

Codificador URL

Codifique e decodifique URLs

Como usar Codificador URL

Codifique e decodifique URLs Ferramenta gratuita online, sem registo, sem anúncios intrusivos. Use agora.

Para que serve a codificação de URLs?

URLs podem conter apenas um conjunto limitado de caracteres ASCII. Caracteres especiais — espaços, acentos, pontuação e caracteres não-ASCII — devem ser codificados como sequências de porcentagem (%XX) para serem transmitidos com segurança em uma URL. Isso é especialmente relevante para o português, que usa muitos caracteres acentuados.

Regras de codificação: Letras (A-Z, a-z), dígitos (0-9) e os caracteres -_.~ nunca são codificados. Todo o restante é codificado como % seguido de dois dígitos hexadecimais representando os valores de byte UTF-8 do caractere.

Frequently Asked Questions

Qual é a diferença entre encodeURI e encodeURIComponent no JavaScript?

encodeURI codifica uma URL completa — deixa caracteres estruturais da URL (/, ?, &, #, :) sem codificação, pois têm significado na URL. encodeURIComponent codifica tudo exceto letras, dígitos e -_.~* — usado para valores individuais de parâmetros. Sempre use encodeURIComponent para valores de parâmetros de consulta para evitar quebrar a estrutura da URL.

Qual é a diferença entre + e %20 para espaços?

Ambos representam um espaço na codificação de URL, mas em contextos diferentes. %20 é correto para todos os componentes de URL. O sinal + representa um espaço apenas em application/x-www-form-urlencoded (dados de formulário HTML) — não em segmentos de caminho. Usar + em um caminho codifica um sinal de mais literal, não um espaço.

Por que decodificar duas vezes causa problemas?

Se %252F aparece em uma URL, ele codifica %2F (que por sua vez codifica /). Decodificar uma vez dá %2F. Decodificar duas vezes dá /. A dupla codificação ocorre quando um valor é codificado e depois a URL inteira é codificada novamente. Isso causa problemas de segurança (ataques de path traversal) quando os servidores decodificam as URLs múltiplas vezes.

Quais caracteres devem ser codificados em um segmento de caminho de URL?

Caracteres reservados com significado especial devem ser codificados em segmentos de caminho: espaço (%20), # (%23), % (%25), ? (%3F) e outros. A barra / é o separador de caminho — para incluir uma barra literal em um segmento de caminho, codifique-a como %2F. Alguns servidores decodificam %2F de volta para / o que pode ser um problema de segurança.

O que é Punycode e como se relaciona com a codificação de URL?

Punycode converte nomes de domínio internacionalizados (IDN) com caracteres não-ASCII para codificação compatível com ASCII. 'münchen.de' torna-se 'xn--mnchen-3ya.de' em Punycode. É diferente da codificação percentual — aplica-se especificamente a nomes de domínio, não a caminhos ou parâmetros.

Codificação de URL vs Base64 vs entidades HTML

A codificação de URL (codificação percentual) torna os dados seguros para URLs. A codificação Base64 torna os dados binários seguros para contextos de texto (e-mail, JSON). As entidades HTML tornam os caracteres especiais seguros para HTML: & torna-se &amp;, < torna-se &lt;. Cada uma resolve o mesmo problema — representar dados em um conjunto de caracteres restrito — mas para diferentes contextos de destino. Usar a codificação errada para o contexto causa erros de exibição ou vulnerabilidades de segurança.

☕ Buy me a coffee