O que faz
Converte texto para a forma percent-codificada e de volta. Duas escolhas controlam o resultado: uma direção (Codificar ou Decodificar) e um escopo (Componente ou URI completa). O modo Componente aplica encodeURIComponent, que escapa cada caractere reservado e é o certo para valores de query. O modo URI completa aplica encodeURI, que mantém ; / ? : @ & = + $ , # intactos para que uma URL inteira continue sendo uma URL. Entrada malformada, como um % solto na decodificação, mostra um erro claro em vez de uma resposta errada.
Como usar
- Escolha uma direção: Codificar ou Decodificar.
- Escolha um escopo: Componente para um único valor de query, URI completa para uma URL inteira.
- Digite ou cole na caixa de entrada. A caixa de saída atualiza enquanto você digita.
- Copie a saída, ou copie um link de compartilhamento que codifica a direção, o escopo e o seu texto.
O botão Swap inverte a direção e leva a saída atual para a entrada. Codifique algo, toque em Swap, e a ferramenta decodifica de volta em um clique - sem digitar de novo.
Exemplos
| Entrada | Configuração | Saída |
|---|---|---|
hello world |
Codificar, Componente | hello%20world |
https://dev.cosmolabs.org/tools/url-encode |
Codificar, URI completa | inalterada - cada caractere é seguro para URL |
https://example.com/search?q=hello world&page=2 |
Codificar, URI completa | https://example.com/search?q=hello%20world&page=2 |
path=/users/42 |
Codificar, Componente | path%3D%2Fusers%2F42 |
hello%20world |
Decodificar, Componente | hello world |
Como funciona a codificação por cento
Uma URI é ASCII. Essa regra sobrevive desde as primeiras especificações de URL: uma URL viaja como bytes ASCII, e qualquer outra coisa precisa ir dentro de um escape. O escape tem sempre três caracteres: % mais dois dígitos hexadecimais que nomeiam o byte. Um espaço é o byte 0x20, então viaja como %20. Um é são dois bytes em UTF-8 (0xC3 0xA9), então viaja como %C3%A9.
O JavaScript traz dois codificadores, e a chave de escopo escolhe entre eles:
encodeURIComponent (Componente) |
encodeURI (URI completa) |
|
|---|---|---|
| Escapa | tudo exceto A-Z a-z 0-9 - _ . ! ~ * ' ( ) |
igual, mas também mantém ; / ? : @ & = + $ , # |
| Feito para | um valor de query | uma URL inteira |
a/b?c=d |
a%2Fb%3Fc%3Dd |
a/b?c=d |
Os caracteres reservados são a pontuação própria da URL, e é por isso que as duas funções existem. Um valor de query como path=/users/42 precisa escapar suas barras, ou o receptor não consegue distinguir dado de estrutura: path=%2Fusers%2F42. Uma URL inteira precisa mantê-las, ou https:// colapsa em https%3A%2F%2F. Regra prática: codifique com o escopo mais estreito que sirva na peça que você tem na mão, e você nunca escapa a estrutura de que realmente precisa.
Decodificar executa o inverso: cada %XX vira o byte que ele nomeia, e os bytes se remontam como texto UTF-8. Um % não seguido de dois dígitos hexadecimais é malformado, e a ferramenta informa isso em vez de adivinhar.
Bom saber
- Decodifique uma vez, não duas. Um valor que legitimamente contém
%20decodifica para um espaço; decodificar esse resultado de novo transforma qualquer%solto em erro. - O link de compartilhamento carrega modo, escopo e texto, então abri-lo restaura a sua conversão exata.
- Privado: toda a codificação roda localmente no seu navegador. Nada é enviado a lugar algum.
- Ferramentas relacionadas: URL Inspector, HTML Entity Encoder,
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
Encode / Decode.