Opções avançadas
Converter + em espaços
Quando habilitado, os caracteres + serão convertidos em espaços. Isso é útil ao decodificar parâmetros de consulta.
Modo ao vivo
Quando habilitado, o texto será decodificado automaticamente enquanto você digita.
Essas opções ajudam você a controlar como os caracteres codificados são decodificados em suas URLs.
O que é decodificação URL?
A decodificação de URL inverte a codificação percentual: lê as sequências de escape %XX numa URL codificada e as restaura aos caracteres que representam. É assim que se recupera uma query string legível, um valor de formulário ou um segmento de caminho a partir de uma URL que um navegador, uma API ou uma linha de log entregou codificada.
Como funciona a decodificação URL?
A decodificação de URL segue um processo específico para converter sequências codificadas em porcentagem de volta em seus caracteres originais:
- A string de entrada é examinada em busca de sequências de escape codificadas com porcentagem (%XX)
- Cada %XX é convertido de seus dois dígitos hexadecimais de volta ao valor de byte original
- Os bytes decodificados consecutivos são remontados em caracteres UTF-8 (uma sequência de vários bytes torna-se um único caractere)
- No contexto de uma string de consulta, + é decodificado como um espaço (application/x-www-form-urlencoded), enquanto %2B permanece como um + literal
- Os caracteres não reservados e o texto já decodificado passam sem alterações
Por que usar um decodificador URL?
- Saída legível: converta %20, %40 e %3D de volta em espaços, @ e = para entender o que a URL realmente diz
- Texto internacional: recomponha caracteres acentuados e não ASCII a partir das suas sequências de bytes UTF-8, para que %C3%A9 volte a ser lido como é
- Depuração: inspecione os valores reais dentro de uma query string, redirect OAuth ou payload de webhook antes de agir sobre eles
- Correto segundo padrões: decodifique conforme RFC 3986, as mesmas regras que navegadores e servidores usam, para ver exatamente o que eles veem
Quais são as aplicações comuns da decodificação URL?
A decodificação de URL é essencial em muitos cenários de desenvolvimento web:
- Envio de formulários: leitura dos valores originais dos campos a partir de dados GET e POST codificados em application/x-www-form-urlencoded
- Desenvolvimento de API: desempacotamento de parâmetros de caminho e query codificados em porcentagem que chegam a um endpoint de API
- Sistemas de arquivos: recuperação de caminhos e nomes de arquivo que foram codificados em porcentagem para transitar dentro de uma URL
- Depuração de links: decodificação de URLs compartilhadas ou registradas em log para ver os caracteres especiais e o texto internacional que carregam
Como é um exemplo de decodificação URL?
Aqui estão alguns exemplos comuns de decodificação de URL: %20 (ou +) vira um espaço, %40 vira @, %23 vira #, %26 vira & e %3D vira =. Uma sequência UTF-8 como %C3%A9 vira o caractere internacional é.
O que é a codificação percentual?
A codificação percentual é o mecanismo definido pela RFC 3986 §2.1 para representar caracteres inseguros ou reservados dentro de um URI. A regra é mecânica: cada byte que não pode aparecer literalmente é escrito como um sinal de porcentagem seguido por dois dígitos hexadecimais — a forma %XX —, onde XX é o valor do byte. Caracteres não-ASCII como é são primeiro codificados como sua sequência de bytes UTF-8 e então cada byte é codificado percentualmente individualmente. Os desenvolvedores encontram isso quase diariamente: em query strings, envios de formulários, URLs de retorno do OAuth, parâmetros de caminho de APIs REST e em qualquer lugar onde uma URL precise transportar pontuação, espaços ou caracteres fora do conjunto não reservado A–Z a–z 0–9 - _ . ~.
Como funciona, na prática, a decodificação de %C3%A9 para é?
Considere a query string codificada ?q=caf%C3%A9&lang=fr. A decodificação produz ?q=café&lang=fr. Aqui está o passo a passo byte por byte:
- Entrada:
?q=caf%C3%A9&lang=fr - Saída:
?q=café&lang=fr
%C3→ byte0xC3(binário11000011) — o byte líder de uma sequência UTF-8 de 2 bytes.%A9→ byte0xA9(binário10101001) — o byte de continuação. Juntos,C3 A9é a codificação UTF-8 de U+00E9, que éé.- Os caracteres
?,=e&ficam intactos porque são estruturais — eles delimitam a query e seus pares chave/valor. O literalcaftambém passa sem alteração, pois letras ASCII minúsculas pertencem ao conjunto não reservado.
Qual a diferença entre decodeURIComponent e decodeURI?
JavaScript expõe dois decodificadores embutidos, e confundi-los é um dos bugs mais comuns ao lidar com URLs:
decodeURIComponent(str)decodifica toda sequência codificada percentualmente, incluindo caracteres reservados como&,=,?,/e#. Use-o em valores individuais de query string ou segmentos de caminho — nunca em uma URL inteira.decodeURI(str)é intencionalmente conservador: ignora caracteres reservados. Passar-lhe%26devolve a string literal%26, e não&. É feito para URIs inteiras nas quais você quer que a estrutura sobreviva a uma ida e volta.
Regra prática: se a string for um pedaço de uma URL (um único parâmetro, um fragmento, um nome de arquivo codificado), use decodeURIComponent. Esta ferramenta se comporta como decodeURIComponent — toda sequência %XX em sua entrada é decodificada, incluindo caracteres reservados.
Decodificar uma URL é a forma de ler o que ela realmente contém. Cole uma string codificada acima e cada sequência %XX se transforma de volta em seu caractere diretamente no navegador, para que você possa depurar um parâmetro de query, verificar um redirect OAuth ou recuperar um nome de arquivo acentuado sem enviar nada a um servidor.