Como codificar e decodificar URLs

Desenvolvedor

Aprenda por que a codificação de URL é necessária, como codificar caracteres especiais para uso seguro em URLs e como decodificar strings com codificação percentual.

Guia passo a passo

1

Entenda a codificação de URL

URLs só podem conter um conjunto limitado de caracteres ASCII. Caracteres especiais (espaços, &, =, #, etc.) devem ser codificados com percentual: substituídos por % seguido de um código hexadecimal de dois dígitos. Exemplo: espaço→%20, &→%26.

2

Codifique uma URL com nossa ferramenta

Cole sua string no Codificador de URL. Clique em Codificar para converter todos os caracteres especiais em seus equivalentes codificados com percentual. O resultado é seguro para usar em URLs.

3

Decodifique uma string codificada com percentual

Cole uma string codificada com percentual e clique em Decodificar para ver o texto original. Útil quando você recebe uma URL ilegível de um log, resposta de API ou formulário web.

4

Codifique apenas o valor da consulta, não a URL inteira

Se construir uma URL como https://example.com/search?q=hello world, codifique apenas o valor: q=hello%20world. Codificar a URL inteira também codificaria ://, ? e =, quebrando a estrutura.

5

encodeURIComponent vs encodeURI em JavaScript

encodeURIComponent codifica tudo exceto caracteres não reservados (A-Z, a-z, 0-9, -, _, ., ~). Use para valores de consulta. encodeURI ignora caracteres estruturais de URL (:, /, ?, #). Use para URLs inteiras.

Usar nossa ferramenta

Codificador/Decodificador de URL

Perguntas frequentes

Q: Qual é a diferença entre %20 e +?

A: Ambos representam um espaço, mas em contextos diferentes. %20 é a codificação percentual padrão para espaços em qualquer parte de uma URL. + é usado para espaços em strings de consulta de formulários HTML (application/x-www-form-urlencoded).

Q: Por que as URLs mostram %3A ou %2F?

A: %3A = dois pontos (:), %2F = barra (/). Aparecem quando caracteres com significado estrutural em URLs são incluídos no valor de um parâmetro de consulta e precisam ser escapados.

Q: Preciso codificar o caminho também?

A: Os segmentos de caminho devem codificar espaços e outros caracteres não ASCII, mas não as barras (/) que separam segmentos. Use encodeURIComponent em cada segmento de caminho individualmente.