Codificador/Decodificador URL

Codifique e decodifique URLs e texto para uso web diretamente no navegador, com resultados que se atualizam enquanto você digita. Suporte a codificação Padrão e de Formulário, com Unicode completo e sem envio ao servidor.

Modo

0 / 10.000

Digite ou cole o texto a codificar: o texto codificado para URL aparece enquanto você digita. Alterne para Decodificar para transformar texto no estilo %20 de volta em texto legível.

Resultado

O resultado aparecerá aqui...

Como Usar

  1. Insira ou cole texto simples para codificar, ou texto codificado de URL (com sinais de porcentagem) para decodificar
  2. Escolha Codificar ou Decodificar acima da entrada: o resultado aparece enquanto você digita. Abra Configurações para escolher o tipo de codificação (Padrão ou Formulário)
  3. Copie o resultado convertido da área de saída usando o botão de cópia rápida
  4. Alterne entre Codificar e Decodificar quando quiser: um resultado válido vai para a entrada. Uma linha de resumo mostra quantos caracteres foram codificados ou, ao decodificar, como o número de caracteres mudou

Entendendo a codificação de URL e o percent-encoding

O que esta ferramenta faz

Uma URL só consegue transportar com segurança um conjunto limitado de caracteres. Tudo que fica fora das letras, dígitos e alguns símbolos não reservados precisa ser reescrito como percent-encoding: um sinal % seguido do valor do byte em hexadecimal. Esta ferramenta converte texto comum nessa forma codificada e também faz o caminho inverso, devolvendo sequências como %20 e %26 aos caracteres que representam.

Dois tipos de codificação cobrem as situações que você realmente encontra. A codificação padrão usa o encodeURIComponent do JavaScript: todo caractere é escapado, exceto letras, dígitos e - _ . ! ~ * ' ( ), inclusive caracteres estruturais como :, /, ?, # e &, que é o que você precisa para uma parte isolada, como o valor de um parâmetro. A codificação de formulário segue a regra application/x-www-form-urlencoded usada pelo navegador ao enviar um formulário e escreve um espaço como + em vez de %20.

Quando usar

Use a codificação padrão sempre que um valor entrar em uma query string: um termo de busca, um endereço de e-mail ou um destino de redirecionamento que contenha ?, & ou =. Codificá-lo evita que esses símbolos sejam lidos como estrutura da URL e quebrem o link. Como todos os caracteres estruturais são escapados, codifique as partes de um endereço uma a uma: codificar uma URL pronta também escaparia suas barras e o ponto de interrogação, o que só está certo quando essa URL é ela mesma um valor dentro de outra. A codificação de formulário corresponde ao corpo de uma requisição POST ou a uma carga de formulário montada à mão, onde os espaços viram + em vez de %20. Decodificar é igualmente comum: colar um link codificado vindo de um log, de um relatório de analytics ou de uma cadeia de redirecionamentos e ler para onde ele realmente aponta.

Um exemplo concreto

Pegue o texto hello world & café. Na codificação padrão, um espaço vira %20, o e comercial vira %26 e café — como o é é armazenado em dois bytes UTF-8 — vira caf%C3%A9. Na codificação de formulário, esse mesmo espaço é escrito como +, resultando em hello+world. Uma linha de resumo conta quantos caracteres mudaram e que parte do texto isso representa.

Observações e casos extremos

Os caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) têm significado dentro de uma URL. Os dois tipos escapam : / ? # [ ] @ $ & + , ; = e deixam ! ' ( ) * como estão, então codifique um valor antes de colocá-lo em uma query string, não a URL pronta. A codificação é definida sobre bytes UTF-8, então qualquer caractere não ASCII se expande em vários grupos %XX. Evite codificar uma URL duas vezes: um % solto que já faz parte de um escape vira %25 e o link deixa de funcionar. Na dúvida, decodifique primeiro para verificar se o texto está cru ou já escapado.

Perguntas frequentes

Os dois tipos de codificação — padrão e de formulário —, além da decodificação e do resumo de caracteres alterados, estão disponíveis sem limites nem taxas. Nada fica reservado atrás de um plano pago.