Sobre: Codificador e decodificador de URL
URLs só podem conter um conjunto limitado de caracteres ASCII. Espaços, letras acentuadas, emojis e caracteres com significado especial em URLs – como &, =, ? e # – precisam ser escritos como bytes com codificação percentual: um espaço vira %20 e "é" vira %C3%A9, por exemplo. Esta ferramenta converte texto para esse formato e de volta.
Ela usa a codificação UTF-8 definida pelo padrão URL, com as mesmas regras das funções encodeURIComponent e encodeURI do JavaScript. Um inspetor de URL integrado também divide um endereço completo em protocolo, host, caminho, fragmento e uma lista decodificada de parâmetros de consulta.
Como usar
- Escolha “Codificar” ou “Decodificar”.
- Escolha o modo: “Componente” para um único valor de consulta ou segmento de caminho, “URL completa” para manter a estrutura de um endereço inteiro, ou “Formulário” para dados application/x-www-form-urlencoded, em que os espaços são escritos como +.
- Digite ou cole o seu texto na caixa de entrada. O resultado é atualizado enquanto você digita.
- Use “Copiar resultado” para mandar o resultado para a área de transferência, ou “Inverter” para levar o resultado para a entrada e trocar a direção.
- Cole uma URL completa para ver as partes dela e os parâmetros de consulta decodificados no “Inspetor de URL”, abaixo do resultado.
Recursos
- Três modos de codificação: Componente (encodeURIComponent), URL completa (encodeURI) e codificação de formulário HTML, com + para os espaços.
- Suporte completo a Unicode: Alfabetos não latinos e emojis são codificados como bytes UTF-8, exatamente como fazem os navegadores.
- Mensagens de erro claras: Quando a decodificação falha, a ferramenta diz onde está a sequência % malformada ou se os bytes não são UTF-8 válido.
- Inspetor de URL: Mostra host, porta, caminho, fragmento e cada parâmetro de consulta já decodificado, inclusive chaves repetidas.
- Privado: Tudo acontece no seu navegador, então URLs com tokens ou dados pessoais não são enviadas para lugar nenhum.
Exemplos
Codificar uma consulta de busca
Para passar "coffee & cake" como valor em ?q=…, codifique-o no modo “Componente”: o resultado é coffee%20%26%20cake. Sem a codificação, o & iniciaria um novo parâmetro.
Ler um link de rastreamento
Cole um link longo como https://example.com/?redirect=https%3A%2F%2Fshop.example%2Fcart%3Fid%3D7 para ver que o parâmetro redirect é decodificado como https://shop.example/cart?id=7.
Decodificar dados de formulário
Dados enviados por um formulário HTML têm esta cara: name=Jane+Doe&city=S%C3%A3o+Paulo. Decodifique-os no modo “Formulário” para obter "name=Jane Doe&city=São Paulo".
Limitações e observações
- O modo “URL completa” não codifica caracteres reservados como / ? # & =, então não serve para codificar o valor de um único parâmetro – use o modo “Componente” para isso.
- Ao decodificar "%2F" no modo “URL completa”, ele continua como %2F, porque o decodeURI deixa os caracteres reservados codificados de propósito.
- Dados com codificação percentual em codificações antigas (por exemplo ISO-8859-1 ou Shift_JIS) não podem ser decodificados, porque a ferramenta espera bytes UTF-8.
- O inspetor de URL só funciona com URLs absolutas que começam com um esquema, como https:.
- Nomes de domínio internacionalizados aparecem na forma punycode devolvida pelo navegador (por exemplo xn--…).
Perguntas frequentes
Qual é a diferença entre encodeURI e encodeURIComponent?
O encodeURIComponent codifica todos os caracteres que têm significado especial em uma URL, então é seguro para um único valor. O encodeURI deixa caracteres como : / ? # & = intactos para que uma URL completa continue funcionando. Os modos “Componente” e “URL completa” correspondem a essas duas funções.
Um espaço deve virar %20 ou +?
Os dois aparecem na prática. %20 é correto em qualquer parte de uma URL. O sinal + só significa espaço na query string de envios de formulários HTML (application/x-www-form-urlencoded). Use o modo “Formulário” quando trabalhar com esse formato.
Por que aparece a mensagem de que os bytes não são UTF-8 válido?
As sequências % estão sintaticamente corretas, mas os bytes que elas descrevem não formam um texto UTF-8 válido – por exemplo, %C3 sem um byte de continuação depois. Os dados podem ter sido codificados com outro conjunto de caracteres ou ter sido cortados.
Minha URL é enviada para um servidor?
Não. A codificação, a decodificação e a análise são feitas por JavaScript nesta página. Você pode até se desconectar da internet depois que a página carregar, e a ferramenta continua funcionando.