URL Encoder / Decoder
Understand URL Encoder / Decoder
O percent-encoding reescreve os caracteres que carregam significado estrutural em uma URL para que eles possam ser transmitidos como dados.
How it works
Cada caractere fora do conjunto não reservado (A–Z, a–z, 0–9 e - _ . ~) é substituído por um % seguido dos dois dígitos hexadecimais de cada byte UTF-8 que ele ocupa, então um espaço vira %20 e o caractere é vira %C3%A9. Os dois modos são as duas funções do JavaScript, e a diferença está no que cada uma deixa intacto: encodeURI preserva os caracteres que constroem uma URL — : / ? # [ ] @ & = + $ , — enquanto encodeURIComponent também os codifica. Use encodeURI em uma URL inteira e encodeURIComponent em um único valor que você vai inserir nela.
When to use it
- Colocar em uma query string um termo de busca, endereço de e-mail ou nome de arquivo fornecido pelo usuário.
- Montar uma URL de redirecionamento que carrega outra URL completa como valor de parâmetro.
- Ler uma URL percent-encoded tirada de um log de servidor ou de um callback OAuth para ver o que foi realmente enviado.
- Codificar um segmento de caminho que contém espaços ou caracteres não ASCII.
Watch out for
- encodeURI é a escolha errada para um valor isolado: ele deixa & = ? # intactos, então um valor que contenha & se divide silenciosamente em dois parâmetros de query. Essa única diferença causa a maioria dos links quebrados.
- Corpos de formulário e muitas query strings antigas codificam um espaço como + em vez de %20. A decodificação aqui não converte isso de volta — decodeURIComponent deixa um sinal de mais literal.
- Codificar duas vezes é um bug comum e é visível: %20 vira %2520. Qualquer %25 em uma URL significa que algo foi codificado uma vez a mais.
- encodeURIComponent deixa ! ' ( ) * sem escape, ainda que a RFC 3986 os reserve, então alguns servidores mais rigorosos continuam discordando dele.
Not the right tool for: Tornar um valor seguro para renderizar em uma página. Um parâmetro de URL decodificado ainda precisa de escape HTML antes de chegar ao DOM.
Frequently Asked Questions
O que a codificação de URL faz?
A codificação de URL (percent-encoding) substitui caracteres especiais na URL por um % seguido do código ASCII em hexadecimal. Espaços viram %20, & vira %26. Isso garante que a URL seja válida e possa ser interpretada por todos os navegadores e servidores.
Quando devo codificar uma string para URL?
Codifique os valores antes de anexá-los a query strings, corpos de POST de formulário ou qualquer componente de URL. Sempre codifique dados fornecidos pelo usuário — caracteres como &, =, #, ? e + têm significado reservado em URLs.
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURI codifica uma URL inteira, preservando os caracteres de estrutura (: / ? # [ ] @ etc.). encodeURIComponent codifica um único valor e também codifica esses caracteres de estrutura — use-o para valores de parâmetros de query.
How to Use URL Encoder / Decoder
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.