Pular para o conteúdo
ToolMug

Codificador e decodificador de URL

Codifique texto para usar em uma URL (URL encode), decodifique strings com escapes % de volta para texto legível e veja qualquer URL dividida em partes e parâmetros de consulta. Escolha entre codificar um único parâmetro, uma URL inteira ou dados de formulário HTML.

Roda no seu navegador — nada do que você digita é enviado

Como usar

  1. Escolha “Codificar” ou “Decodificar”.
  2. 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 +.
  3. Cole seu texto. O resultado é atualizado enquanto você digita.
  4. 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.

Ferramentas relacionadas