Decodificador de URL

Decodifique URLs codificadas em texto legível para revisar links, formulários web, parâmetros de rastreamento e exemplos de aulas sobre o funcionamento da web.

Processador de URLs / Inspector

Colar um ou mais URLs completos (um por linha) para quebrar cada um em seu protocolo, host, caminho, string de consulta e fragmento, com cada parâmetro de consulta decodificado.

Aprender codificação de URL

Um URL só pode conter letras, dígitos e um pequeno conjunto de símbolos (- _ . ~). Todo o resto, incluindo espaços, pontuação e caracteres não-inglês, tem que ser representado com porcentagem de codificação antes que possa viajar dentro de uma URL.

A codificação percentual substitui um caractere por um sinal de porcentagem seguido de seu valor de byte hexadecimal de dois dígitos, usando UTF-8 para qualquer coisa fora do ASCII básico. Um espaço torna-se% 20, um ampersand torna-se% 26, e um caractere acentuado ou não-latino pode se tornar várias sequências %XX em uma linha, uma vez que UTF-8 representa-o como mais de um byte.

Caracteres como ? & = # e / têm um significado especial em uma estrutura de URL: eles marcam a string de consulta, parâmetros separados ou introduzem o fragmento. Se seus dados precisam conter um desses caracteres como um valor em vez de estrutura, codificá-lo primeiro, ou o navegador ou servidor pode ler mal onde uma parte da URL termina e a próxima começa.

A decodificação reverte o processo: ela lê cada sequência %XX de volta para o caractere (ou byte) que representa, que é exatamente o que a ferramenta acima faz.

  • Codifique um valor antes de adicioná- lo a uma string de pesquisa ou segmento de caminho.
  • Decode uma URL que você recebeu quando precisa lê-la ou depura-la.
  • Descodificar apenas o componente específico que você precisa. Decodificar cegamente um URL inteiro pode transformar um ampers codificado e voltar para um separador de parâmetros.
  • Espera-se uma codificação de caracteres multi-byte para mais de uma sequência% XX, não um erro.

URL comum Caracteres

CaracterCodificadoSe for utilizado
espaço%20Separador de palavras dentro de um valor
!%21
"%22
#%23Inicia o fragmento
%%25Inicia uma sequência codificada por cento
&%26Separa parâmetros de pesquisa
'%27
(%28
)%29
+%2BFrequentemente lido como um espaço dentro de uma string de pesquisa
,%2C
/%2FSepara segmentos de caminho
:%3ASegue o esquema, por exemplo https:
;%3B
=%3DAtribui o valor de um parâmetro de pesquisa
?%3FInicia o texto da pesquisa
@%40
[%5B
]%5D

Esta ferramenta ajudou você?

3.8/5 a partir de 48 classificações

Decodifique URLs, parâmetros de consulta, caminhos e dados web codificados em porcentagem para aulas, depuração e testes de API

Uma aluna copia um endereço da web de um formulário on-line e vê um texto como science%20project%20notes. Em outro caso, quem está começando a programar examina uma requisição de API e descobre que um e comercial dentro de um valor de busca aparece como %26. O endereço funciona, mas é difícil de ler e de depurar.

Uma ferramenta de decodificação de URL converte as sequências codificadas com porcentagem de volta nos caracteres que elas representam. Por exemplo, %20 costuma virar um espaço, e %26 vira um e comercial.

Decodificar ajuda a entender links, conferir parâmetros de consulta, estudar a codificação da web e diagnosticar requisições malformadas. Exige cuidado, porque os caracteres reservados podem mudar a estrutura de uma URL depois de decodificados.

A ferramenta não determina se um destino é seguro, correto ou autorizado. Ela só muda a representação dos caracteres codificados. O host, o caminho, os parâmetros e os valores decodificados continuam precisando da sua conferência.

Que aparência tem a codificação de URL

As URLs usam certos caracteres para separar suas partes. Um ponto de interrogação pode abrir uma string de consulta, um e comercial pode separar parâmetros e um sinal de cerquilha pode marcar um fragmento.

Quando um desses caracteres precisa aparecer como dado, e não como separador estrutural, ele pode ser codificado com porcentagem. O sinal de porcentagem vem seguido de dois dígitos hexadecimais que representam um valor de byte.

Valor codificado Caractere decodificado Significado comum
%20 Espaço Separa palavras dentro de um valor
%21 ! Ponto de exclamação
%23 # Cerquilha ou marca de fragmento
%26 & E comercial ou separador de consulta
%2B + Sinal de mais
%2F / Barra ou separador de caminho
%3A : Dois-pontos
%3D = Sinal de igual ou separador de parâmetros
%3F ? Ponto de interrogação ou marca de consulta

As letras hexadecimais das sequências com porcentagem não diferenciam maiúsculas de minúsculas, então %2F e %2f representam o mesmo byte.

Como decodificar uma URL

  1. Copie a URL ou o valor codificado. Preserve cada sinal de porcentagem e o par de caracteres que vem depois.
  2. Identifique a parte que está examinando. Decida se é uma URL completa, um caminho, um nome de parâmetro ou um valor de parâmetro.
  3. Cole na ferramenta de decodificação de URL. Confirme que a entrada foi copiada inteira.
  4. Rode a decodificação. A ferramenta converte as sequências com porcentagem que reconhece.
  5. Revise o resultado como texto. Não abra automaticamente um destino desconhecido.
  6. Compare estrutura e dados. Repare se os pontos de interrogação, os e comerciais, as barras ou os sinais de igual decodificados mudam a aparência do endereço.
  7. Confira os caracteres de outros idiomas. Confirme que a codificação de caracteres esperada foi usada.
  8. Guarde a entrada original. Ela pode fazer falta para rastrear uma codificação dupla ou um passo de decodificação errado.

Primeiro entenda as partes de uma URL

Veja este exemplo:

https://example.edu/search?q=water%20cycle&level=grade%206#results

Suas partes principais são:

  • Esquema: https
  • Host: example.edu
  • Caminho: /search
  • Consulta: q=water%20cycle&level=grade%206
  • Fragmento: results

Os valores da consulta são decodificados como “water cycle” e “grade 6”. O e comercial estrutural que separa os parâmetros não deve ser confundido com um e comercial codificado dentro de um valor.

Decodifique o componente certo

Quem programa costuma criar problemas ao decodificar a URL inteira quando só um componente deveria ser decodificado. Os caracteres reservados podem ter papéis diferentes conforme o lugar em que aparecem.

Suponha que uma consulta contenha isto:

?topic=research%26writing

O valor codificado representa:

research&writing

Aqui o e comercial faz parte do valor do tópico. Se a consulta inteira for decodificada e depois interpretada errado, esse e comercial pode ser confundido com um separador que introduz outro parâmetro.

Uma aplicação confiável analisa a URL segundo a estrutura dela e decodifica cada componente com uma interface de URL adequada, em vez de sair substituindo texto de qualquer jeito.

Uma oficina de depuração de URL

Passo 1: Comece com um link legível

A turma examina isto:

https://example.edu/library?topic=space%20science

Os alunos identificam o host, o caminho, o nome do parâmetro e o valor codificado.

Passo 2: Decodifique só o valor

O valor space%20science vira space science. Os alunos explicam por que normalmente não se escreve um espaço literal em uma URL que vai ser compartilhada.

Passo 3: Apresente os caracteres reservados

O professor propõe isto:

?title=Design%20%26%20Technology

O título decodificado é Design & Technology. Os alunos percebem que o e comercial codificado pertence ao título e não separa parâmetros.

Passo 4: Inverta o processo

Os alunos usam a ferramenta de codificação de URL para preparar um valor novo, depois o decodificam e comparam o resultado.

Passo 5: Diagnostique um erro

Uma das sequências traz um escape de porcentagem incompleto, como %2. Os alunos explicam por que se esperam dois dígitos hexadecimais depois do sinal de porcentagem.

Casos de uso reais

1. Ler parâmetros de busca

Um aluno copia o link de uma busca na biblioteca com várias palavras codificadas. A URL visível é difícil de interpretar.

Ele decodifica os valores da consulta e confirma quais termos e filtros estavam incluídos. Antes de abrir o link, confere o host.

Isso ajuda o aluno a entender como um site carrega a informação de busca de uma página para outra.

2. Depurar uma requisição de API

Quem está começando a programar envia uma requisição com o título de um curso que tem um e comercial. O servidor recebe o título como dois parâmetros separados.

Ao examinar a requisição bruta, descobre que o e comercial não foi codificado como dado. O valor é preparado com uma interface de URL padrão e testado de novo.

O decodificador ajuda a explicar a requisição, mas a correção definitiva está em tratar a URL de forma estruturada, e não em substituições manuais.

3. Investigar um link quebrado

Uma professora recebe um link para um documento da turma, mas o destino informa que o arquivo não foi encontrado.

A URL é examinada e decodificada. Um nome de arquivo tem uma barra que pode ter sido tratada como separador de caminho, ou um espaço foi copiado errado.

Em vez de editar às cegas um endereço privado desconhecido, a professora pede ao dono do documento um novo link de compartilhamento.

4. Entender o envio de um formulário

Os alunos montam um formulário de busca simples e olham a URL depois de enviar um texto com espaços e pontuação.

Eles decodificam os valores dos parâmetros e comparam com o que digitaram no formulário. A turma discute por que os navegadores codificam os valores antes de colocá-los em uma URL.

No exercício não se usam senhas reais, registros de alunos nem respostas privadas.

5. Examinar links de analytics

O link de um boletim da escola traz vários parâmetros de rastreamento. Uma professora quer saber que informação vai junto antes de compartilhá-lo.

A URL é separada em parâmetros e os valores são decodificados. Os valores de rastreamento desnecessários só podem sair se isso não quebrar o destino pretendido.

O link final é testado, e não simplesmente dado como funcional depois da edição manual.

6. Aprender a codificação de URL multilíngue

Uma turma de computação testa uma frase curta em outro idioma dentro de uma URL. O resultado codificado traz várias sequências com porcentagem, porque os caracteres UTF-8 podem ocupar mais de um byte.

Os alunos decodificam a sequência inteira e comparam com a frase original. Tirar um byte codificado pode gerar um caractere de substituição ou texto inválido.

A atividade mostra que um caractere visível nem sempre corresponde a um único byte codificado.

7. Diagnosticar uma codificação dupla

Alguém espera um espaço, mas vê %2520. A sequência %25 representa um sinal de porcentagem, então uma passada de decodificação produz %20, e outra pode produzir um espaço.

A pessoa rastreia onde o valor foi codificado duas vezes. O fluxo de dados é corrigido, em vez de decodificar cada entrada repetidamente.

8. Conferir destinos de redirecionamento

Um link traz outra URL codificada dentro de um parâmetro como redirect ou next.

O usuário decodifica o valor como texto puro e confere o host de destino real antes de abrir. Um endereço codificado não merece confiança só porque o destino final é difícil de ler.

Decodificação de URL comparada a outros decodificadores

Entrada Codificação provável Ferramenta correta Exemplo decodificado
lesson%20notes Codificação de URL com porcentagem Decodificação de URL lesson notes
<p> Entidades HTML Decodificação HTML <p>
SGVsbG8= Base64 Decodificação Base64 Hello
u003F Escape Unicode Analisador de JSON ou da linguagem ?

Para referências de entidade, use a ferramenta de decodificação HTML, e a ferramenta de decodificação Base64 só quando souber que os dados estão nesse formato.

Espaços e sinais de mais

Os espaços costumam ser representados como %20. Na codificação de consulta no estilo de formulário, um sinal de mais também pode ser lido como espaço.

Daí vem uma distinção importante:

  • class%20notes normalmente é decodificado como class notes.
  • class+notes pode ser decodificado como class notes no contexto de uma consulta de formulário.
  • Um sinal de mais literal pode precisar ser codificado como %2B.

Use o método de decodificação feito para aquele componente e aquele formato. Um decodificador de caminho e um decodificador de consulta de formulário podem não tratar o sinal de mais do mesmo jeito.

Caracteres multibyte

A codificação com porcentagem trabalha sobre bytes. Um caractere fora do ASCII básico pode ser representado por vários bytes codificados.

Uma letra acentuada ou um caractere árabe, por exemplo, pode aparecer como uma sequência de vários escapes de porcentagem. Todos os bytes necessários precisam permanecer na ordem certa e ser interpretados com a codificação de caracteres correta.

Se a saída trouxer símbolos de substituição, verifique se:

  • Falta um byte codificado.
  • A sequência foi decodificada com a codificação de caracteres errada.
  • O texto foi copiado pela metade.
  • O valor foi decodificado vezes demais.
  • Os dados de origem já estavam danificados.

Que problemas isso resolve

  • Uma URL traz sequências com porcentagem ilegíveis.
  • Alguém precisa examinar os parâmetros de uma busca.
  • O valor de uma consulta de API traz espaços ou pontuação codificados.
  • Um link compartilhado parece conter outro destino codificado.
  • Há suspeita de codificação dupla.
  • O envio de um formulário precisa ser estudado em uma aula de programação.
  • Um caminho ou parâmetro multilíngue está difícil de ler.
  • Um link quebrado pode conter um valor codificado errado.

Erros comuns ao decodificar URLs

Decodificar a URL inteira sem entendê-la

Os caracteres reservados podem mudar a estrutura depois da decodificação. Separe a URL em componentes e decodifique o valor pretendido.

Decodificar repetidamente

Decodificar sem parar pode transformar dados antes inofensivos em separadores ativos ou caminhos inesperados. Descubra por que existem várias camadas de codificação.

Usar busca e substituição manual

Trocar %20 por espaços não dá conta de todos os caracteres codificados, nem das sequências UTF-8, das entradas malformadas ou das regras do sinal de mais. No código, use um analisador de URL estruturado ou uma interface padrão.

Abrir um destino decodificado desconhecido

Decodifique como texto primeiro. Examine o esquema, o nome do host, o caminho e os parâmetros antes de decidir se vale a pena visitar.

Confundir codificação de URL com codificação HTML

%26 e & podem representar um e comercial em contextos diferentes. Escolha o decodificador pela representação que você tem de fato.

Ignorar sequências de porcentagem inválidas

O sinal de porcentagem deve ser seguido de dois dígitos hexadecimais. Sequências incompletas ou inválidas podem indicar entrada danificada.

Colocar senhas em URLs

URLs podem aparecer no histórico do navegador, em logs, na analytics, em capturas de tela e em mensagens compartilhadas. Credenciais sensíveis não devem entrar em uma string de consulta.

Considerações de segurança

Valores decodificados podem conter caracteres com significado especial. Uma barra decodificada pode afetar um caminho, um e comercial pode alterar parâmetros e os sinais de menor e maior podem virar marcação se forem inseridos errado em uma página.

As aplicações devem:

  • Analisar URLs com interfaces de URL padrão.
  • Decodificar só o componente adequado.
  • Validar os nomes e valores de parâmetro esperados.
  • Restringir os destinos de redirecionamento.
  • Evitar montar consultas de banco de dados ou comandos de sistema a partir de entrada não confiável.
  • Escapar a saída conforme o contexto em que ela é exibida.
  • Rejeitar sequências malformadas quando for necessário.
  • Registrar erros sem expor dados sensíveis.

Decodificar não é sanitizar. Isso revela os caracteres representados, mas não decide se eles são seguros para HTML, caminhos de arquivo, consultas de banco de dados ou redirecionamentos.

Privacidade e uso responsável

Uma URL pode conter termos de busca, identificadores de documento, endereços de e-mail, códigos de turma, nomes de arquivo, dados de rastreamento e outras informações. Decodificar deixa tudo isso mais fácil de ler, mas não remove nada.

Não cole links escolares privados, tokens de redefinição, URLs assinadas, endereços de registros de alunos nem dados de autenticação em uma ferramenta externa. Troque os valores sensíveis por exemplos fictícios nas aulas e nas demonstrações de depuração.

Antes de compartilhar uma captura de tela de uma URL decodificada, remova nomes de conta, hosts privados, tokens e identificadores de documento.

Um exemplo prático para quem programa

Quem está começando deve preferir interfaces de URL estruturadas. Em JavaScript, dá para examinar o valor de uma consulta assim:

const url = new URL(
  "https://example.edu/search?q=water%20cycle"
);

const query = url.searchParams.get("q");

console.log(query);
// water cycle

Essa abordagem analisa a URL e devolve o valor decodificado do parâmetro. Costuma ser mais segura e mais clara do que quebrar a string inteira na mão a cada ponto de interrogação, e comercial e sinal de igual.

Lista de verificação final

  • A entrada codificada original foi guardada.
  • O componente da URL que estava sendo decodificado foi identificado.
  • As sequências com porcentagem trazem dois dígitos hexadecimais válidos.
  • Os sinais de mais foram interpretados conforme o contexto certo.
  • Os caracteres multibyte aparecem corretamente.
  • O host e o destino decodificados foram examinados antes da abertura.
  • Os caracteres reservados não mudaram sem querer a estrutura pretendida.
  • A codificação dupla foi rastreada, e não adivinhada.
  • Nenhuma senha, token ou registro de aluno foi exposto.
  • O código da aplicação usa interfaces de URL estruturadas sempre que possível.

Ferramentas relacionadas

Use a ferramenta de codificação de URL para preparar um texto como componente de URL e depois decodifique-o para conferir um exemplo de aula.

Se a entrada trouxer entidades como < ou ", use a ferramenta de decodificação HTML. Para texto que você sabe que é Base64, use a ferramenta de decodificação Base64.

Escolher o decodificador certo evita transformações desnecessárias e deixa a depuração bem mais confiável.

Para fechar

A decodificação de URL transforma sequências codificadas com porcentagem em caracteres legíveis. Ela ajuda os alunos a entender endereços da web e ajuda quem programa a examinar valores de consulta, requisições de API, texto multilíngue, redirecionamentos e problemas de codificação dupla.

O caminho mais seguro é identificar o componente da URL, decodificar só o necessário e guardar a entrada original. Trate o resultado como um dado que ainda precisa de validação.

Um link decodificado e legível é mais fácil de investigar, mas isso não o torna seguro nem correto por si só. Confira a estrutura, o destino, os parâmetros, a privacidade e a codificação de caracteres pretendida antes de usá-lo.

Para professoresPara estudantes