Codificar URL

Codifique e decodifique componentes de URL

Entrada
Saída

O que é codificação de URL / percentual?

URLs só podem conter um pequeno conjunto de caracteres ASCII. Qualquer outra coisa — espaços, letras acentuadas, emoji, caracteres reservados como `&`, `=`, `?` — deve ser codificada em percentual como `%` seguido por dois dígitos hexadecimais representando os bytes UTF-8. Um espaço se torna `%20`, `é` se torna `%C3%A9`, o ponto de interrogação se torna `%3F`.

Use a codificação 'componente' ao escapar uma única parte (um valor de parâmetro de consulta, um segmento de caminho) — equivalente ao `encodeURIComponent` do JavaScript. Use a codificação 'URL completa' ao escapar uma URL inteira que já possui delimitadores estruturais que você deseja preservar — equivalente ao `encodeURI`.

Casos de uso

  • Construir strings de consulta — codifique em percentual a entrada do utilizador antes de inseri-la nos parâmetros `?q=`.
  • Inspecionar logs do servidor — decodifique URLs embaralhadas para ler o caminho original (`/Users/%E4%B8%AD%E6%96%87/...`).
  • Depurar redirecionamentos OAuth — cole um `redirect_uri` para ver exatamente o que o callback OAuth decodificou.
  • Ler exemplos de curl — copie uma URL codificada em percentual de um tutorial e decodifique-a para entender a solicitação.

Exemplos

EntradaResultado
hello world & friendshello%20world%20%26%20friends
café/menu?id=123caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL)

Perguntas frequentes

Qual é a diferença entre encodeURI e encodeURIComponent?

`encodeURI` deixa os caracteres estruturais da URL (`:`, `/`, `?`, `#`, `&`, `=`) intactos — para codificar uma URL inteira. `encodeURIComponent` também escapa esses caracteres — para codificar uma única parte que vai em uma URL.

Ele pode lidar com caracteres não ASCII?

Sim. Caracteres fora do ASCII são codificados como seus bytes UTF-8 (1–4 bytes), cada um representado como `%XX`.

O `+` é interpretado como um espaço ao decodificar?

Não. Esta ferramenta usa decodificação padrão de URL, que deixa `+` inalterado. A regra `+`-significa-espaço é específica para dados de formulário `application/x-www-form-urlencoded`, e esta ferramenta não tem um modo de decodificação de formulário separado.

Por que minha URL quebra após a codificação?

Você codificou caracteres estruturais (`:`, `/`, `?`, `#`) que precisavam permanecer literais. Esta ferramenta sempre faz codificação de componentes (`encodeURIComponent`), que os escapa — então codifique apenas os valores de consulta individuais ou segmentos de caminho, não a URL inteira.

Algo é enviado?

Não — a codificação e decodificação ocorrem inteiramente no seu navegador.