Codificar e decodificar URL
Codifique texto para uma URL com percent-encoding ou decodifique de volta, e divida qualquer URL em partes e parâmetros de query.
Funciona inteiramente no seu navegador
Dividir uma URL em partes
Parâmetros de query
| # | Nome | Valor (decodificado) |
|---|
Texto de até cerca de 5 MB. Os resultados são atualizados enquanto você digita.
Como codificar ou decodificar uma URL
- Escolha Codificar ou Decodificar e depois diga o que é o texto: um valor único (componente), uma URL inteira ou dados de formulário.
- Digite ou cole o texto. O resultado aparece abaixo enquanto você digita; um escape quebrado é indicado com a posição.
- Copie o resultado ou cole uma URL completa no analisador mais abaixo para ver o host, o caminho e os parâmetros de query.
O que a codificação de URL faz
Codificar e decodificar URL é necessário porque uma URL só pode conter um conjunto limitado de caracteres ASCII, e alguns deles têm função: / separa segmentos do caminho, ? inicia a query, & e = a dividem em nomes e valores, # inicia o fragmento. O percent-encoding escreve qualquer outro byte como % seguido de dois dígitos hexadecimais, então um valor como R&D / 2026 pode viajar dentro de uma query string sem ser confundido com estrutura: R%26D%20%2F%202026.
O texto é primeiro transformado em bytes UTF-8, e é por isso que uma letra acentuada vira dois escapes e um emoji vira quatro. A decodificação faz o caminho inverso e verifica se os bytes formam UTF-8 válido. Esta ferramenta decodifica com um leitor próprio e rigoroso, então, em vez de um erro genérico "URI malformed", ela diz qual escape está quebrado e onde.
Os três modos correspondem às três situações mais comuns. Codifique um valor único (componente) quando estiver montando um parâmetro de query ou um segmento de caminho. Codifique uma URL inteira só quando tiver um endereço completo com espaços ou letras não ASCII. Use dados de formulário para o corpo de um envio de formulário ou para uma query string montada do jeito que os formulários HTML montam.
Dicas
- Precisa de um caminho limpo e legível em vez de escapes? Crie um com o Gerador de slug.
- Dados binários em uma URL costumam estar em Base64url, não em percent-encoding: experimente Codificar e decodificar Base64.
- Um token em uma query string que começa com
eyJprovavelmente é um JWT. Leia-o com o Decodificador de JWT.
Perguntas frequentes
Qual a diferença entre codificar um componente e uma URL inteira?
A codificação de componente (o encodeURIComponent do JavaScript) escapa tudo, exceto letras, dígitos e - _ . ! ~ * ' ( ), então caracteres como / ? & = viram %2F %3F %26 %3D. Use-a para um único valor de query ou segmento de caminho. A codificação de URL inteira (encodeURI) deixa intactos os caracteres que dão estrutura à URL e só escapa espaços, letras não ASCII e alguns outros, para que o endereço completo continue utilizável.
Quando devo usar a codificação de formulário?
A codificação de formulário (application/x-www-form-urlencoded) é o que um formulário HTML envia e o que a maioria das query strings usa. Ela escreve o espaço como + e escapa tudo, exceto letras, dígitos e * - . _. Ao decodificar nesse modo, um + é lido como espaço; nos outros modos ele continua sendo um sinal de mais.
Como acentos e emoji são codificados?
Como bytes UTF-8, cada um escrito como % seguido de dois dígitos hexadecimais, que é o que navegadores e servidores esperam. Por exemplo, é vira %C3%A9. A decodificação verifica se os bytes formam UTF-8 válido e avisa se não formarem.
Por que a decodificação mostra um erro?
Todo sinal de porcentagem precisa ser seguido de dois dígitos hexadecimais (0-9, A-F). Um % solto, um escape cortado como %A ou bytes que não são UTF-8 válido são indicados com a posição, para você encontrá-los. Se o texto contém um sinal de porcentagem literal, ele deve ser escrito como %25.
O analisador de URL acessa o endereço?
Não. Ele usa o parser de URL nativo do navegador para dividir o texto em partes; nada é baixado e nada é enviado. O texto que você digita fica nesta aba.
Devo codificar uma URL inteira mais de uma vez?
Não. Codificar um texto já codificado transforma %20 em %2520, um erro comum. Se você vir %25 seguido de dois dígitos hexadecimais no resultado, a entrada provavelmente já estava codificada; decodifique-a primeiro.