Codificador/Decodificador de URL

Codifica e decodifica URLs.

URL inválida

O que são a codificação e a decodificação de URL

A codificação de URL, também chamada codificação por porcentagem, é o mecanismo que converte numa cadeia ASCII da forma %XX os caracteres que uma URL não pode levar: escritas não latinas e símbolos. Uma URL foi concebida supondo apenas caracteres ASCII, de modo que esta conversão se impõe assim que você passa caracteres multibyte ou caracteres reservados como ? e & na qualidade de valor de parâmetro.

Esta ferramenta codifica e decodifica com um clique a URL ou cadeia informada, e o resultado se copia e se emprega assim mesmo. Ela intervém em toda sorte de trabalhos de desenvolvimento: montar requisições de API, gerar URL de redirecionamento e examinar o conteúdo de uma URL já codificada transmitida por outro sistema.

Como empregá-la

  1. Informe a cadeia a converter Cole no campo de entrada um texto com caracteres não latinos, ou uma URL já codificada.
  2. Escolha codificar ou decodificar Escolha codificar para levar uma cadeia comum à notação por porcentagem, ou decodificar para restituir a notação por porcentagem.
  3. Confira o resultado A cadeia convertida aparece no ato.
  4. Copie o resultado e empregue-o Você pode colá-lo diretamente no parâmetro de consulta de uma requisição de API ou numa URL de redirecionamento.

Dicas para aproveitar melhor

  • O caractere japonês「あ」é codificado como %E3%81%82 em UTF-8.
  • Um espaço pode se tornar %20 em caminhos de URL ou + em parâmetros de consulta (diferença entre RFC 3986 e a especificação de formulários HTML).
  • Caracteres reservados como ?, & e = devem ser codificados quando usados como valores de parâmetros.
  • Útil ao incluir caracteres não ASCII em parâmetros de consulta de APIs REST ou ao passar URLs de redirecionamento com segurança.

Quando é útil

Montar os parâmetros de consulta de uma API REST

Empregue-a quando quiser incluir sem risco palavras-chave ou valores de entrada livre numa cadeia de consulta.

Montar uma URL de redirecionamento

Quando você incrusta uma URL de destino como parâmetro dentro de outra URL, a codificação previne qualquer choque com os separadores.

Examinar uma URL recebida de outro sistema

Decodifique uma URL repleta de notação por porcentagem transmitida por um log ou um serviço externo e lerá os valores reais dos parâmetros.

Criar links para e-mails e para compartilhar em redes

Você pode incorporar texto sem risco a um link mailto com assunto e corpo, ou a uma URL para compartilhar em redes sociais.

O vocabulário empregado aqui

Codificação por porcentagem
Um procedimento que converte um caractere na sua sequência de bytes UTF-8 e exprime cada byte com um sinal de porcentagem seguido de dois dígitos hexadecimais. Representa sem risco os caracteres que uma URL não pode levar.
Caracteres reservados
Símbolos como ?, &, =, # e + que servem para delimitar a estrutura de uma URL. Devem ser codificados quando figuram num valor de parâmetro.
Caracteres não reservados
Os caracteres alfanuméricos e os quatro símbolos -, _, . e ~. A RFC 3986 estabelece que não requerem codificação.
RFC 3986
A norma da internet que estabelece a sintaxe de um URI. As regras da codificação por porcentagem são definidas ali também.
application/x-www-form-urlencoded
O formato de codificação empregado ao enviar um formulário HTML. Ele se afasta da norma URI ao converter um espaço num sinal de mais em vez de em %20.

Perguntas frequentes

Codificar converte caracteres como espaços e letras não ASCII para o formato hexadecimal %XX, seguro para uso em URLs. Decodificar reverte esse processo de volta ao texto original legível.

Use %20 em caminhos de URL (conforme RFC 3986). Use + apenas em query strings application/x-www-form-urlencoded (dados de formulários HTML). Na dúvida, %20 é a escolha mais segura.

Caracteres não reservados — letras (A–Z, a–z), dígitos (0–9) e os símbolos - _ . ~ — podem aparecer em URLs sem codificação. Todos os demais, incluindo caracteres reservados como & e =, devem ser codificados quando usados como valores de parâmetros.
Tool-kun

Curiosidade — O nascimento da URL: Tim Berners-Lee e o alvorecer da World Wide Web

A URL foi projetada em 1991 por Tim Berners-Lee, o inventor da World Wide Web. Originalmente concebida apenas para caracteres ASCII, caracteres multibyte (como o japonês) e caracteres especiais precisam ser representados por codificação percentual.

A URL da primeira página web da internet, http://info.cern.ch/hypertext/WWW/TheProject.html, ainda está acessível hoje. Domínios com emoji (ex.: 🍕.ws) são tecnicamente possíveis e são convertidos internamente para Punycode (formato que começa com xn--). Embora URLs possam teoricamente ultrapassar 2.000 caracteres, os limites práticos de navegadores e servidores ficam em torno de 2.048 caracteres.

O RFC 3986 define a especificação de URL, mas a distinção entre %20 (espaço) e + (espaço) ainda é fonte de confusão frequente. %20 é o padrão URI; + é usado no formato application/x-www-form-urlencoded de formulários HTML — a escolha depende do contexto.