Decodificador de URL Online

Decodifica URLs codificadas por percentagem

Experimente um exemplo

URL / Texto Codificado

Decodificado

Roda localmente · Seguro para colar segredos
Saída decodificada...

O que é Decodificação de URL?

A decodificação de URL (decodificação percentual) é o inverso da codificação de URL: converte sequências codificadas percentualmente de volta aos seus caracteres originais. Cada ocorrência de um sinal de percentual seguido de dois dígitos hexadecimais (%XX) é substituída pelo byte que XX representa. Múltiplos bytes codificados consecutivos são recombinados para reconstruir o caractere UTF-8 original.

A decodificação de URL é uma tarefa cotidiana para desenvolvedores que trabalham com APIs, web scraping, análise de logs e fluxos de autenticação. URLs codificadas são legíveis por máquinas, mas opacas para humanos — decodificá-las revela instantaneamente os caminhos reais, consultas de pesquisa, destinos de redirecionamento e valores de parâmetros que de outra forma exigiriam conversão mental de hex para caractere.

Por que usar esta ferramenta?

Entenda rapidamente qualquer URL ou query string codificada percentualmente — sem necessidade de console do navegador, nada enviado a um servidor.

Decodificação instantânea
Cole qualquer URL ou parâmetro codificado e veja a versão legível por humanos imediatamente. Ótimo para depurar requisições de API e arquivos de log.
🛡️
Recuperação de erros
Recorre ao legacy unescape() para entradas que contêm caracteres Latin-1 codificados percentualmente no estilo antigo que falhariam com decodeURIComponent.
🔒
Apenas no cliente
Toda a decodificação é executada localmente no seu navegador. Tokens, senhas e parâmetros de query privados nunca saem do seu dispositivo.
🔁
Suporte a URL completa
Decodifique URLs completas ou valores de parâmetros individuais. A ferramenta lida com espaços %20 padrão e preserva sinais + como caracteres de adição literais.

Como usar este decodificador de URL online

Sem conta, sem instalação. Cole sua string codificada em percentual no campo de entrada e o resultado decodificado aparece instantaneamente. Tudo roda no seu navegador — seus dados nunca saem do seu dispositivo.

  1. 1
    Cole sua URL codificada ou string
    Copie qualquer string codificada em percentual — uma URL da barra de endereços, um parâmetro de consulta de logs do servidor, uma resposta de API ou um destino de redirecionamento — e cole-a no campo de entrada.
  2. 2
    Detecção automática de formato
    O decodificador lida automaticamente com a codificação percentual %XX e com o + como espaço (application/x-www-form-urlencoded). Não é necessário especificar o formato de codificação manualmente.
  3. 3
    Inspecione a saída decodificada
    O texto legível aparece instantaneamente. Se a entrada continha codificação aninhada (strings duplamente codificadas), o decodificador resolve uma camada por vez. Um erro aparece para sequências %XX malformadas.
  4. 4
    Copiar ou recodificar
    Clique em Copiar para pegar a string decodificada. Precisa codificá-la novamente com configurações diferentes? Alterne para a ferramenta Codificador de URL com um clique.

Como a decodificação funciona

O decodificador examina a entrada em busca de sequências %, converte cada grupo de dois dígitos hexadecimais em um valor de byte, agrupa sequências de bytes consecutivos e os interpreta como UTF-8 para produzir os caracteres Unicode finais.

Exemplo
Entrada:https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world
%3A:  %2F/  %3F?  %3D=  %20space
Saída:https://example.com/search?q=hello world

Referência de caracteres codificados percentualmente

Uma referência rápida para as sequências codificadas percentualmente mais encontradas:

CodificadoCar.Onde você verá
%20spacepath segments, query values
%2B+literal plus (not a space in query)
%2F/slash inside a path component
%3F?literal question mark in a value
%23#literal hash in a value
%26&literal ampersand in a value
%3D=literal equals sign in a value
%40@at sign in username / password
%3A:colon inside a path segment
%25%literal percent sign
%2C,comma in path or query
%5B[opening bracket
%5D]closing bracket
%7B{curly brace in template literals
%7D}curly brace in template literals

Casos de uso comuns

Depuração de requisições API
Copie uma URL dos logs de rede do DevTools do navegador e decodifique-a para ver os valores reais dos parâmetros de query — especialmente útil quando ferramentas automatizadas ou bibliotecas codificaram percentualmente os parâmetros.
Leitura de arquivos de log
Logs de acesso de servidores web e logs de aplicações armazenam URLs em sua forma codificada. Decodifique-os para encontrar os caminhos reais solicitados, termos de pesquisa e valores de parâmetros.
Inspeção de redirecionamentos
Callbacks OAuth, redirecionamentos SSO e URLs de rastreamento de links frequentemente carregam parâmetros redirect_uri ou next fortemente codificados. Decodifique a URL para rastrear o destino pretendido.
Análise de payloads de webhook
Corpos de webhook enviados como application/x-www-form-urlencoded (Stripe, Twilio, GitHub) chegam como strings codificadas percentualmente. Decodifique-os para ler os valores reais dos campos.
Extração de consultas de pesquisa
URLs de analytics e cabeçalhos referrer contêm a consulta de pesquisa original do usuário codificada percentualmente no parâmetro q=. Decodifique para exibir ou analisar os termos de pesquisa reais.
Engenharia reversa de URLs
Ao integrar com APIs de terceiros ou fazer scraping, URLs encontradas frequentemente contêm segmentos de caminho e parâmetros codificados. Decodifique-os para entender a estrutura da URL e reproduzir requisições.

Armadilhas comuns

Estes são os erros mais frequentes ao decodificar strings codificadas percentualmente:

Confundir + com %20
Em dados application/x-www-form-urlencoded (envios de formulários HTML), + representa um espaço. Mas em um caminho de URL bruto ou um valor codificado com encodeURIComponent, + é um sinal de adição literal. decodeURIComponent não converte + em espaço — use URLSearchParams ou unquote_plus para dados de formulário.
Strings duplamente codificadas
Se uma string foi codificada duas vezes, decodificá-la uma vez ainda deixa sinais de percentual: %2520 decodifica para %20, não para um espaço. Decodifique uma segunda vez para obter o valor original. Fique atento a isso em logs, proxies e middlewares que recodificam dados já codificados.
Sequências percentuais malformadas
Um % isolado ou seguido de caracteres não hexadecimais (ex: %GG ou % 2) é inválido e lançará um URIError. Sempre valide a entrada ou envolva a decodificação em um try/catch.
Incompatibilidade de codificação (Latin-1 vs UTF-8)
Sistemas antigos (urlencode do PHP, ASP clássico) codificavam caracteres como bytes Latin-1. Uma string codificada como Latin-1 pode decodificar incorretamente com um decodificador UTF-8. Se você vir caracteres ilegíveis, tente o caminho legacy unescape() ou determine a codificação original.

Exemplos de código

Como decodificar strings de URL em linguagens e ambientes populares:

JavaScript (browser / Node.js)
// Decode a percent-encoded component
decodeURIComponent('hello%20world%20%26%20more') // → "hello world & more"

// Decode a full URL (leaves structure characters encoded)
decodeURI('https://example.com/path?q=hello%20world') // → "https://example.com/path?q=hello world"

// Parse a query string (handles + as space automatically)
const params = new URLSearchParams('q=hello+world&lang=en')
params.get('q') // → "hello world"
Python
from urllib.parse import unquote, unquote_plus, parse_qs

# Decode percent-encoded string
unquote('hello%20world%20%26%20more')   # → 'hello world & more'

# Decode form-encoded string (+ → space)
unquote_plus('hello+world%21')          # → 'hello world!'

# Parse full query string
parse_qs('q=hello%20world&lang=en')     # → {'q': ['hello world'], 'lang': ['en']}
Node.js (URL API)
const url = new URL('https://example.com/search?q=hello%20world%20%26%20more')
url.searchParams.get('q')  // → "hello world & more"
url.pathname               // → "/search"
CLI (bash)
# Decode with Python one-liner
python3 -c "from urllib.parse import unquote; print(unquote('hello%20world'))"

# Decode with Node.js
node -e "console.log(decodeURIComponent('hello%20world%20%26'))"

Decodificador de URL vs. alternativas

Várias ferramentas podem decodificar strings codificadas em percentual, mas diferem em clareza, privacidade e conveniência.

Esta ferramenta
Baseada em navegador, instantânea e privada. Lida com codificação %XX, + como espaço, Unicode e sequências malformadas. Nenhum dado enviado a qualquer servidor.
Barra de endereços do navegador
Os navegadores decodificam URLs para exibição, mas nem sempre de forma completa — alguns caracteres codificados permanecem visíveis na barra de endereços. Não é útil para inspecionar valores de parâmetros individuais.
DevTools / curl -v
O DevTools do navegador e o curl mostram URLs brutas e decodificadas nas solicitações de rede. Útil para depuração, mas requer troca de ferramentas e saber onde procurar.

Perguntas frequentes

Qual é a diferença entre decodeURIComponent e decodeURI?
decodeURIComponent decodifica todas as sequências codificadas percentualmente incluindo caracteres reservados (%2F → /, %3F → ?, etc.). decodeURI só decodifica sequências que não produziriam um caractere com significado especial em uma URL — deixa %2F, %3F, %23 e outros caracteres estruturais codificados. Use decodeURIComponent para valores de parâmetros; use decodeURI apenas quando tiver uma URL completa e quiser preservar sua estrutura.
Por que vejo URIError: URI malformada?
Este erro de decodeURIComponent ocorre quando a entrada contém um % não seguido de dois dígitos hexadecimais válidos, ou quando uma sequência UTF-8 multibyte está incompleta (ex: %E2 sem o seguinte %82%AC). Remova ou escape sinais de percentual soltos antes de decodificar.
A decodificação trata + como espaço?
Não — decodeURIComponent trata + como um sinal de adição literal, não como espaço. A convenção + → espaço só se aplica a dados application/x-www-form-urlencoded (envios de formulários HTML). Para decodificar dados codificados em formulário, use URLSearchParams (navegador/Node) ou urllib.parse.unquote_plus (Python).
É seguro fazer a decodificação de URL no lado do cliente?
Sim — a decodificação de URL é uma transformação pura sem requisições de rede. Todos os navegadores modernos incluem decodeURIComponent e decodeURI como funções nativas. Esta ferramenta realiza a decodificação inteiramente no seu navegador; nenhum dado é enviado a lugar nenhum.
Como decodifico uma URL que foi codificada múltiplas vezes?
Decodifique-a múltiplas vezes até que a saída estabilize (não há mais sequências % sendo resolvidas). Isso acontece quando uma URL já codificada passa por outro codificador. Cada passagem de decodificação remove uma camada de codificação.
O que %XX representa?
Os dois caracteres após % são dígitos hexadecimais representando um valor de byte único (00–FF). Para caracteres ASCII, este byte é o código ASCII do caractere: %41 = 65 = 'A'. Para caracteres não ASCII, múltiplas sequências %XX representam a sequência de bytes UTF-8 do caractere: o símbolo do euro é %E2%82%AC (três bytes: 0xE2, 0x82, 0xAC).
Qual codificação o navegador usa ao enviar formulários HTML?
Formulários HTML com method=GET adicionam os campos à URL usando a codificação application/x-www-form-urlencoded, que substitui espaços por + em vez de %20 e codifica outros caracteres especiais com porcentagem. A opção + → espaço da ferramenta URL Decode trata esse formato. Formulários com method=POST e enctype=application/x-www-form-urlencoded usam o mesmo esquema no corpo da requisição.
Há um limite de tamanho para a decodificação?
Sem limite no lado do servidor — a ferramenta roda inteiramente no seu navegador. Os limites práticos dependem da memória do seu navegador. Para strings codificadas muito longas ou processamento em lote, use decodeURIComponent em um script.