Codificador e Decodificador de URL

Três formas de trabalhar com codificação de URL em um só lugar: codifique texto para URL escolhendo entre componente ou URL completa, decodifique de volta para texto, ou compare os dois modos de codificação lado a lado para entender a diferença. Sem cadastro, tudo processado no seu navegador.

Codificar para URL

Decodificar URL

Comparar: componente vs URL completa

como componente
como URL completa

O que é codificação de URL

Uma URL só pode conter um conjunto limitado de caracteres seguros: letras, números e alguns símbolos como "-", "_", "." e "~". Qualquer outro caractere, como espaços, acentos, emojis ou símbolos especiais, precisa ser convertido para uma sequência no formato "%XX", onde XX é o código hexadecimal do caractere. Esse processo é chamado de percent-encoding, ou codificação de URL.

Componente vs URL completa: qual a diferença

A codificação de componente (usando encodeURIComponent em JavaScript) escapa praticamente todos os caracteres especiais, incluindo os que dão estrutura a uma URL, como ":", "/", "?", "&" e "=". Isso é o comportamento correto quando você está montando o valor de um único parâmetro que vai dentro de uma query string. Já a codificação de URL completa (usando encodeURI) preserva esses caracteres estruturais, porque nesse modo eles ainda têm uma função dentro do endereço completo, e só escapa os caracteres realmente inseguros, como espaços e acentos.

Exemplo prático

Codificando o texto "café & rock/pop" como componente, o resultado escapa até a barra e o "&", ficando algo como "caf%C3%A9%20%26%20rock%2Fpop". Já codificando a URL completa "https://exemplo.com/busca?q=café", o resultado preserva as barras e o ponto de interrogação, escapando apenas o "é" acentuado, o que mantém a URL funcional como endereço.

Quando usar cada modo de codificação

Use a codificação de componente sempre que estiver construindo o valor de um parâmetro individual que será inserido em uma query string, por exemplo, ao montar manualmente um link de busca com o termo digitado por um usuário. Use a codificação de URL completa quando precisar codificar um endereço inteiro que já vem com sua estrutura pronta, preservando barras, dois-pontos e pontos de interrogação, e corrigindo apenas os caracteres que não são seguros dentro de uma URL.

Decodificando URLs

Decodificar reverte o processo, transformando as sequências "%XX" de volta nos caracteres originais. É comum precisar decodificar uma URL para ler o valor real de um parâmetro capturado em um log de acesso, ou para depurar um link que não está funcionando como esperado.

Perguntas frequentes

O que é codificação de URL (percent-encoding)?

É a técnica de substituir caracteres inseguros dentro de uma URL por uma sequência no formato %XX, onde XX é o valor hexadecimal do caractere.

Qual a diferença entre codificar como componente e como URL completa?

A codificação de componente escapa até os caracteres estruturais da URL, como "/" e "&". A de URL completa preserva esses caracteres e escapa só os demais.

Quando devo usar cada tipo de codificação?

Use componente para valores de parâmetros individuais, e URL completa quando estiver codificando um endereço inteiro já estruturado.