Codificador / Decodificador URL

Codifique e decodifique URLs e query strings com codificação percentual nos modos componente, URI ou formulário, em UTF-8, UTF-16 ou Latin-1. No navegador.

Os dados inseridos e arquivos ficam no navegador

Cole uma URL, query string ou texto simples para codificá-lo ou decodificá-lo em percent-encoding.

O resultado codificado ou decodificado aparece aqui.

Nesta página

Aplique codificação percentual a textos para URLs e decodifique sequências %XX de volta para texto legível. Os três modos correspondem a encodeURIComponent, encodeURI do JavaScript e à codificação de formulários HTML, e o trabalho é feito no navegador por um módulo WebAssembly compilado de Rust.

Funcionalidade detalhada

O modo Componente escapa tudo exceto letras, dígitos e - _ . ! ~ * ' ( ), então codifica também /, ?, & e =: use-o para o valor de um parâmetro ou um segmento de caminho. O modo URI preserva a estrutura de um endereço completo (: / ? # & = + $ , ; @) e escapa só espaços e caracteres que nunca são válidos numa URL. O modo Formulário segue application/x-www-form-urlencoded: espaços viram + e tudo exceto letras, dígitos e - _ . * é escapado; na decodificação, + volta a ser espaço.

Antes de codificar, o texto é convertido em bytes no conjunto de caracteres escolhido. UTF-8 é o padrão da web; ISO-8859-1 (Latin-1), UTF-16LE e UTF-16BE existem para sistemas legados, e um caractere que o conjunto não consegue representar é apontado com sua posição. A decodificação é estrita: após cada % devem vir dois dígitos hex, então um 100% solto gera erro em vez de passar em silêncio. A linha de status mostra o tamanho da saída em caracteres e bytes.

Exemplos práticos

Valor de parâmetro: a b&c=d/e? no modo Componente vira a%20b%26c%3Dd%2Fe%3F.

URL inteira: https://example.com/my path?q=a b&x=1 no modo URI vira https://example.com/my%20path?q=a%20b&x=1, enquanto o modo Componente a transforma em https%3A%2F%2Fexample.com%2Fmy%20path%3Fq%3Da%20b%26x%3D1.

Dados de formulário: John Doe & Co. no modo Formulário vira John+Doe+%26+Co.; decodificar a+b%20c dá a b c no modo Formulário, mas a+b c no modo Componente.

Conjunto de caracteres: café é caf%C3%A9 em UTF-8 e caf%E9 em ISO-8859-1.

Como usar esta ferramenta

  1. Cole o texto ou uma string codificada

    Digite em Entrada o texto a codificar ou a string com codificação percentual a decodificar.

  2. Escolha o modo e o conjunto de caracteres

    Em Modo, escolha Componente (tipo encodeURIComponent) para um valor isolado, URI (tipo encodeURI) para um endereço completo ou Formulário (application/x-www-form-urlencoded) para o corpo de um formulário. Deixe Conjunto de caracteres em UTF-8, a menos que o servidor espere outro.

  3. Codifique ou decodifique

    Clique em Codificar para aplicar a codificação percentual ou em Decodificar para recuperar o texto. Sequências % inválidas e caracteres fora do conjunto aparecem como erro.

  4. Copie o resultado

    Copiar leva a saída para a área de transferência. Inverter a devolve para a entrada, por exemplo para decodificar outra camada.

Dicas e melhores práticas

  • Codifique cada valor da query separadamente no modo Componente e só depois junte-os com & e =. Codificar a URL inteira no modo Componente também escapa :// e quebra o link.
  • O modo URI não escapa &, = nem #: se um valor de parâmetro os contiver, codifique esse valor no modo Componente.
  • + significa espaço só em dados de formulário; fora do modo Formulário ele é decodificado como sinal de mais.
  • Texto codificado duas vezes, como %2520, vira %20 na primeira passada: clique em Inverter e em Decodificar de novo para remover a próxima camada.
  • Use o conjunto de caracteres que o servidor espera: %E9 vira é com ISO-8859-1, mas em UTF-8 um %E9 isolado é texto inválido.