Como usar
- Escolha Codificar ou Decodificar.
- Escolha Componente para um único valor (como um parâmetro de consulta) ou URL completa para um endereço inteiro.
- Digite ou cole seu texto. O resultado aparece na hora à direita (ou abaixo, em celulares).
- Copie o resultado ou use “Usar saída como entrada” para inverter a operação e verificar o resultado.
Como funciona
URLs só podem conter um conjunto limitado de caracteres ASCII. Todos os outros caracteres, incluindo espaços, letras acentuadas e emojis, são representados por escapes percentuais: o caractere é convertido em bytes UTF-8, e cada byte se transforma em % seguido de dois dígitos hexadecimais. Um espaço vira %20, é vira %C3%A9 e € vira %E2%82%AC.
O modo Componente usa encodeURIComponent e decodeURIComponent do JavaScript. Ele escapa todos os caracteres com significado especial em uma URL, incluindo / ? # & = + : e @, para que o resultado possa ser inserido com segurança no valor de um parâmetro de consulta ou em um único segmento de caminho. Apenas A–Z, a–z, 0–9 e - _ . ! ~ * ' ( ) permanecem inalterados.
O modo URL completa usa encodeURI e decodeURI. Ele considera que a entrada já é uma URL completa e mantém intactos os caracteres reservados ; , / ? : @ & = + $ #, para que o endereço continue funcionando. Ao decodificar, decodeURI também mantém intactos os escapes desses caracteres reservados: %2F continua sendo %2F, porque transformá-lo em / mudaria o significado da URL.
A opção Dados de formulário segue application/x-www-form-urlencoded, o formato usado pelos navegadores ao enviar formulários HTML: um espaço é representado por + em vez de %20. Ao decodificar com essa opção, cada + vira um espaço; para representar um sinal de mais literal, use %2B.
A entrada inválida nunca é descartada. Se um % não for seguido por dois dígitos hexadecimais ou uma sequência de escapes não formar UTF-8 válido, a ferramenta mostra onde está o problema e mantém seu texto para que você possa corrigi-lo.
Exemplos
Inserir um valor em uma query string
Para pesquisar “Rock & Roll” em https://example.com/search?q=…, codifique apenas o valor no modo Componente: Rock%20%26%20Roll. Sem a codificação, o & encerraria o parâmetro q e iniciaria um novo parâmetro chamado “ Roll”.
Corrigir uma URL com espaços e acentos
No modo URL completa, https://example.com/menu/crème brûlée.html vira https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html. As barras e os dois-pontos permanecem como estão, então o link continua funcionando.
Ler dados de formulário registrados
Um log do servidor mostra name=Jane+Doe&city=S%C3%A3o+Paulo. Decodifique no modo Componente com “Tratar + como espaço” ativado para ler name=Jane Doe&city=São Paulo.
Perguntas frequentes
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURIComponent escapa os caracteres que separam as partes de uma URL (/ ? # & = + : @ e outros), por isso serve para uma única parte da URL. encodeURI mantém esses caracteres e serve para uma URL completa. Usar encodeURI em um valor de consulta é um erro comum: um & ou = dentro do valor não seria escapado e quebraria a query string.
Um espaço deve ser representado por %20 ou +?
No caminho de uma URL, um espaço é sempre representado por %20. Em uma query string, as duas formas aparecem: %20 é válido em qualquer situação, enquanto + representa um espaço apenas em dados codificados para formulário (application/x-www-form-urlencoded), como os usados por formulários HTML e por muitos frameworks de servidor ao interpretar query strings. Se tiver dúvida, use %20.
Por que ocorre um erro ao decodificar?
A decodificação falha quando um sinal de % não é seguido por dois dígitos hexadecimais (por exemplo, “50% off”) ou quando os bytes escapados não formam UTF-8 válido. Isso geralmente significa que o texto foi codificado com um conjunto de caracteres mais antigo, como Latin-1 (é como %E9 em vez de %C3%A9). A mensagem de erro mostra a posição do problema.
Por que %2F não virou uma barra no modo URL completa?
decodeURI mantém intencionalmente os escapes de caracteres reservados, como / ? # & e =, porque decodificá-los poderia mudar a forma como a URL é dividida em partes. Use o modo Componente para decodificar todos os escapes.
Quais caracteres nunca são codificados?
Os dois modos deixam A–Z, a–z, 0–9 e - _ . ! ~ * ' ( ) inalterados. O modo URL completa também deixa ; , / ? : @ & = + $ e # inalterados.
Privacidade
A codificação e a decodificação são feitas inteiramente no seu navegador, usando as funções JavaScript integradas. Seu texto e suas URLs não são enviados, armazenados nem incluídos em análises.