Como usar
- Escolha “Codificar” ou “Decodificar”.
- Escolha o modo — “Componente” para o valor de um único parâmetro, “URL completa” para manter a estrutura da URL ou “Formulário (+ para espaços)” para dados de formulário HTML, em que os espaços viram +.
- Cole seu texto. O resultado é atualizado enquanto você digita.
- Se a entrada for uma URL, o protocolo, o host, o caminho e os parâmetros de consulta aparecem logo abaixo.
Opções explicadas
- Componente
- Codifica tudo, exceto letras, dígitos e - _ . ~ — use para o valor de um parâmetro de consulta ou um segmento do caminho. Equivale a encodeURIComponent, mais ! ' ( ) *, que a RFC 3986 reserva.
- URL completa
- Não mexe nos caracteres que dão estrutura à URL (: / ? # & =) e codifica espaços e caracteres não ASCII. Equivale ao encodeURI do JavaScript.
- Formulário
- application/x-www-form-urlencoded, usado por formulários HTML. Os espaços viram + em vez de %20; ao decodificar, o + volta a ser espaço.
Exemplos
| Entrada | Componente | URL completa | Formulário |
|---|---|---|---|
a b&c |
a%20b%26c |
a%20b&c |
a+b%26c |
café |
caf%C3%A9 |
caf%C3%A9 |
caf%C3%A9 |
https://x.com/?q=1 2 |
https%3A%2F%2Fx.com%2F%3Fq%3D1%202 |
https://x.com/?q=1%202 |
https%3A%2F%2Fx.com%2F%3Fq%3D1+2 |
Montando uma URL com parâmetros
Ao colocar dados digitados pelo usuário em uma query string, codifique cada valor separadamente:
const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;
Codificar a URL inteira só no final deixaria & e = dentro do valor sem codificação e quebraria os parâmetros.
Perguntas frequentes
Qual é a diferença entre %20 e +?
Os dois podem representar um espaço, mas em lugares diferentes. %20 funciona em qualquer parte de uma URL; + só significa espaço na query string de envios de formulário. No caminho, + é um sinal de mais literal.
Por que meu texto está codificado duas vezes (%2520)?
Ele foi codificado duas vezes — o % de %20 foi codificado de novo como %25. Decodifique duas vezes e, no seu código, garanta que só uma camada codifique o valor.
Quando usar encodeURI e quando usar encodeURIComponent?
Use encodeURIComponent (modo “Componente”) para cada valor de parâmetro que você insere em uma URL. Use encodeURI (“URL completa”) só para uma URL inteira que possa conter espaços ou caracteres não ASCII.
O que significa “codificação percentual malformada”?
Um % não é seguido de dois dígitos hexadecimais, ou os bytes não formam UTF-8 válido. O erro mostra a posição da primeira sequência inválida.
Como caracteres acentuados e chineses são codificados em URLs?
Cada caractere é convertido em bytes UTF-8 e cada byte é escrito como %XX, então ç vira %C3%A7 e 中 vira %E4%B8%AD.
Privacidade
Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.