Codificador de URL

Deixe um texto seguro para usar dentro de uma URL.

Funciona no navegador. Nada do que você digita é enviado a lugar nenhum.

Como codificar uma URL

  1. Cole o texto ou a URL.
  2. Escolha codificação de componente para um único valor, ou URI completa para um endereço inteiro.
  3. Copie o resultado codificado.

O que é codificado

CaracteresCodificado?Exemplo
Letras e dígitosNãoa-z, A-Z, 0-9 ficam como estão
- _ . ~NãoDeixados em paz nos dois modos
EspaçoSim%20, ou + com a opção ligada
/ ? # & =Só no modo componenteO modo URI completa deixa esses em paz

Modo componente vs modo URI completa

ModoCodifica / ? # & =Usar para
ComponenteSimUm único valor de query ou segmento de caminho
URI completaNãoUm endereço completo que você vai usar como está

Quando você precisa de percent-encoding

  • Um valor de query string que contém espaços ou caracteres especiais, como um termo de busca.
  • Texto não ASCII em uma URL, como letras acentuadas ou outro alfabeto, depois de virar bytes UTF-8.
  • Montar um link de redirecionamento ou callback que carrega outra URL completa dentro de um parâmetro.

Perguntas frequentes sobre Codificar URL

Qual é a diferença entre codificação de componente e URI completa?

A codificação de componente escapa todo caractere especial, incluindo / e &, para uso dentro de um único parâmetro de query. A codificação de URI completa deixa em paz caracteres de estrutura de URL como :, / e ?, já que fazem parte de um endereço válido.

Quando devo usar + para espaço?

Só para envios clássicos de formulário (application/x-www-form-urlencoded), onde um espaço é escrito como + em vez de %20.

Quais caracteres são codificados?

Letras, números e - _ . ~ ficam como estão. Todo o resto vira um sinal de porcentagem seguido do código hex de dois dígitos.

Isso segue algum padrão web?

Sim. A RFC 3986 define quais caracteres de URI são reservados e como fazer percent-encoding do resto. Esta ferramenta usa as funções nativas encodeURIComponent e encodeURI do JavaScript, que seguem essa RFC.

Como letras acentuadas ou emojis são codificados?

Eles são convertidos para bytes UTF-8 primeiro, e cada byte é escrito como %XX. A letra é (com acento) vira %C3%A9, já que ocupa dois bytes UTF-8.

Posso codificar um endereço inteiro, incluindo https://?

Use o modo URI completa. Ele deixa o esquema, o host e a / que separa os segmentos de caminho em paz, e só codifica caracteres que nunca são seguros em nenhuma parte de uma URL.

A codificação muda letras e dígitos?

Não. A-Z, a-z e 0-9 nunca são codificados em nenhum dos dois modos, já que são sempre seguros para usar direto dentro de uma URL.

Qual é a diferença entre as duas funções do JavaScript por trás desta ferramenta?

O modo componente usa encodeURIComponent, que escapa tudo menos os caracteres não reservados, feito para um único valor como um parâmetro de query. O modo URI completa usa encodeURI, que também deixa em paz os caracteres de estrutura reservados da URL, já que espera um endereço completo.

Ferramentas relacionadas