Codificar e Decodificar URL

Converta caracteres especiais em URLs e inspecione cada parte de um endereço.

Operação

Processado no seu navegador: nada do que você digita ou envia sai do seu dispositivo.

Codificação de URL (percent-encoding): o que é e quando usar

URLs só podem conter um conjunto limitado de caracteres. Espaços, acentos, cedilha, emojis e símbolos como &, ? e # dentro de um valor precisam ser codificados no formato %XX, em que XX é o valor hexadecimal de cada byte em UTF-8. Esse processo se chama percent-encoding ou URL encoding. Por exemplo, "pão de queijo" vira p%C3%A3o%20de%20queijo.

Esta ferramenta codifica e decodifica textos e URLs e também analisa uma URL, separando protocolo, domínio, caminho, âncora e cada parâmetro da query, que você pode editar, remover ou adicionar.

Componente ou URL inteira?

FunçãoO que preservaQuando usar
encodeURIComponentapenas letras, números e - _ . ! ~ * ' ( )Valores de parâmetros, como o texto de busca em ?q= ou a mensagem de um link do WhatsApp
encodeURItambém : / ? # [ ] @ & = + $ ,Uma URL completa que tenha espaços ou acentos no caminho

O erro mais comum é codificar a URL inteira com encodeURIComponent (as barras viram %2F e o link quebra) ou codificar um valor com encodeURI (um & dentro do valor não é codificado e "parte" o parâmetro em dois).

Espaço: %20 ou +?

Na especificação de URLs, o espaço é %20. Já em formulários HTML enviados no formato application/x-www-form-urlencoded, o espaço é representado por +. Marque a opção correspondente quando estiver montando ou lendo dados de formulário. Ao decodificar com essa opção, os + viram espaços.

Analisador de URL

Na aba Analisar URL, cole qualquer endereço para ver:

  • Protocolo (http, https), domínio e subdomínio, porta, caminho e âncora.
  • Uma tabela com todos os parâmetros já decodificados, que você pode editar.
  • Um botão para remover parâmetros de rastreamento (utm_source, utm_medium, fbclid, gclid etc.) e obter um link limpo para compartilhar.

Para criar links com parâmetros UTM corretamente, use o gerador de links UTM. Para codificar dados binários em texto, veja o codificador Base64.

Codificação de URL em linguagens de programação

JavaScript: encodeURIComponent("pão de queijo")
Python:     urllib.parse.quote("pão de queijo")
PHP:        rawurlencode("pão de queijo")  // urlencode() usa +
Java:       URLEncoder.encode("pão de queijo", StandardCharsets.UTF_8)  // usa +

Conteúdo revisado em .

Perguntas frequentes

O que é URL encoding?

É a conversão de caracteres que não podem aparecer em uma URL (espaços, acentos, símbolos reservados) para o formato %XX, com o código hexadecimal de cada byte em UTF-8. Ex.: espaço vira %20 e ã vira %C3%A3.

Qual a diferença entre encodeURI e encodeURIComponent?

encodeURIComponent codifica quase todos os símbolos e deve ser usado em valores de parâmetros. encodeURI preserva os caracteres que estruturam a URL (: / ? # & =) e serve para codificar uma URL completa.

Espaço em URL é %20 ou +?

Em URLs, o padrão é %20. O + representa espaço apenas em dados de formulário (application/x-www-form-urlencoded). A ferramenta tem uma opção para cada caso.

Por que aparece erro ao decodificar?

A entrada contém um % que não forma uma sequência válida, como "100%" ou "%ZZ". Corrija ou codifique o % como %25.

Como remover os parâmetros utm de um link?

Cole o link na aba Analisar URL e clique em Remover parâmetros utm_. A ferramenta também remove identificadores como fbclid e gclid e mostra a URL limpa para copiar.