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.
- Modo componente ou URI completa
- Opção de + para espaço
- Funciona offline
Como codificar uma URL
- Cole o texto ou a URL.
- Escolha codificação de componente para um único valor, ou URI completa para um endereço inteiro.
- Copie o resultado codificado.
O que é codificado
| Caracteres | Codificado? | Exemplo |
|---|---|---|
| Letras e dígitos | Não | a-z, A-Z, 0-9 ficam como estão |
| - _ . ~ | Não | Deixados em paz nos dois modos |
| Espaço | Sim | %20, ou + com a opção ligada |
| / ? # & = | Só no modo componente | O modo URI completa deixa esses em paz |
Modo componente vs modo URI completa
| Modo | Codifica / ? # & = | Usar para |
|---|---|---|
| Componente | Sim | Um único valor de query ou segmento de caminho |
| URI completa | Não | Um 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.