Codificador e Decodificador de URL com Analisador Integrado
Cole uma URL para decodificar ou codificar em tempo real. Analisador de URL integrado decompõe cada componente em campos editáveis. Modo duplo: encodeURI e encodeURIComponent. Privado — nenhum dado enviado a servidor.
O que é Codificação de URL (Codificação Percentual)?
Codificação de URL, formalmente conhecida como codificação percentual, é um mecanismo definido no RFC 3986 para representar caracteres em um Identificador Uniforme de Recurso (URI) que não são permitidos ou têm significado especial. Converte cada byte inseguro em um sinal de percentual (%) seguido de dois dígitos hexadecimais — por exemplo, um espaço se torna %20, um e-comercial se torna %26, e o caractere chinês 中 se torna %E4%B8%AD (seus três bytes UTF-8, cada um codificado em percentual).
URLs podem conter apenas um conjunto limitado de caracteres do conjunto ASCII. Letras, dígitos e um punhado de símbolos (- _ . ~) são considerados 'não reservados' e podem aparecer como estão. Todos os outros caracteres — incluindo espaços, pontuação e toda a gama do Unicode — devem ser codificados em percentual para serem transmitidos com segurança em uma URL. Caracteres reservados como ?, &, = e # servem como delimitadores estruturais na sintaxe da URL, então também devem ser codificados quando usados como dados literais em vez de delimitadores.
Codificação percentual é essencial em toda a web: navegadores codificam envios de formulários, APIs requerem parâmetros de consulta codificados, fluxos OAuth dependem de URIs de redirecionamento corretamente codificadas, e nomes de domínio internacionalizados dependem de codificação para caracteres não-ASCII. Codificar incorretamente leva a links quebrados, vulnerabilidades de segurança (como ataques de redirecionamento aberto) e corrupção de dados.
Esta ferramenta fornece ambos os modos encodeURI e encodeURIComponent, um analisador de estrutura de URL integrado, conversão em tempo real e detecção de codificação dupla — tudo executando de forma privada no seu navegador.
Codificação de URL é frequentemente usada junto com outras ferramentas de desenvolvimento web. Você pode precisar codificar uma URL em Base64 para incorporar em um token JWT ou payload de API, ou formatar dados JSON que contêm strings de URL para inspecionar sua estrutura.
// Encode a query parameter value
const param = encodeURIComponent('hello world & goodbye');
console.log(param); // → 'hello%20world%20%26%20goodbye'
// Encode a full URL (preserves structure)
const url = encodeURI('https://example.com/path name?q=hello world');
console.log(url); // → 'https://example.com/path%20name?q=hello%20world'
// Decode a percent-encoded string
const decoded = decodeURIComponent('hello%20world%20%26%20goodbye');
console.log(decoded); // → 'hello world & goodbye'
// Build a URL with encoded parameters
const base = 'https://api.example.com/search';
const query = `?q=${encodeURIComponent('你好')}&lang=zh`;
console.log(base + query); // → 'https://api.example.com/search?q=%E4%BD%A0%E5%A5%BD&lang=zh' Recursos Principais
Dois Modos de Codificação
Alterne entre encodeURI (preserva estrutura da URL) e encodeURIComponent (codifica tudo para valores de parâmetros) para atender seu caso de uso exato.
Analisador de URL Integrado
Decompõe automaticamente qualquer URL em protocolo, host, porta, caminho, parâmetros de consulta e fragmento — cada campo é editável e pode ser reconstruído em uma nova URL.
Conversão em Tempo Real
Codifique e decodifique instantaneamente conforme digita — sem botões para clicar, resultados aparecem imediatamente na outra área a cada tecla.
100% Baseado no Navegador
Todo o processamento acontece localmente no seu navegador usando APIs nativas do JavaScript. Seus dados nunca saem do dispositivo — sem uploads para servidor, sem rastreamento.
Suporte Completo a UTF-8
Lida corretamente com chinês, japonês, coreano, árabe, emoji e qualquer texto Unicode através de codificação e decodificação adequada de bytes UTF-8.
Detecção de Codificação Dupla
Detecta automaticamente e alerta sobre problemas de codificação dupla como %2520 (um %20 codificado em percentual), ajudando a evitar um dos erros mais comuns de codificação de URL.
Exemplos
Decodificar URL Ilegível
https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%26lang%3Den
https://example.com/search?q=hello world&lang=en
Uma URL totalmente codificada em percentual é decodificada de volta à sua forma legível, revelando os parâmetros de consulta e a estrutura original
Caracteres Chineses
https://example.com/search?q=你好世界
https://example.com/search?q=%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C
Caracteres chineses são convertidos para suas sequências de bytes UTF-8 e codificados em percentual
Parâmetros de Consulta
https://example.com/api?name=John Doe&role=admin&lang=en&sort=date desc
https://example.com/api?name=John%20Doe&role=admin&lang=en&sort=date%20desc
Espaços e caracteres especiais nos valores dos parâmetros de consulta são codificados em percentual preservando a estrutura da URL
URL Completa
https://user:pass@example.com:8080/path/to/page?key=value&arr[]=1#section-2
https://user:pass@example.com:8080/path/to/page?key=value&arr%5B%5D=1#section-2
Uma URL completa com credenciais, porta, caminho, parâmetros de consulta com colchetes e um identificador de fragmento
URI de Redirecionamento OAuth
https://auth.example.com/authorize?redirect_uri=https://myapp.com/callback?code=abc&state=xyz
https://auth.example.com/authorize?redirect_uri=https%3A%2F%2Fmyapp.com%2Fcallback%3Fcode%3Dabc%26state%3Dxyz
O valor do redirect_uri contém uma URL completa que deve ser codificada para que seus caracteres especiais não sejam interpretados como parte da URL externa
Como Usar
- 1
Insira uma URL ou String Codificada
Cole uma URL na área decodificada para codificá-la, ou cole uma string codificada em percentual na área codificada para decodificá-la. Selecione o modo encodeURI ou encodeURIComponent dependendo do seu caso de uso.
- 2
Veja Resultados e Estrutura Analisada
A outra área é atualizada instantaneamente conforme você digita. O analisador de URL decompõe a URL em protocolo, host, porta, caminho, parâmetros de consulta e fragmento — todos editáveis.
- 3
Copie ou Reconstrua
Clique em Copiar para copiar o resultado codificado ou decodificado. Edite componentes individuais da URL e clique em Reconstruir para construir uma nova URL a partir das partes modificadas.
Erros Comuns
Codificação Dupla (%2520 em vez de %20)
Codificação dupla ocorre quando uma URL já codificada é codificada novamente. O % em %20 é codificado como %25, transformando %20 em %2520. Isso quebra a URL porque o servidor vê uma string literal %20 em vez de um espaço.
https://example.com/path%2520with%2520spaces
https://example.com/path%20with%20spaces
Espaço Codificado como + em Segmentos de Caminho
O caractere + representa um espaço apenas no formato application/x-www-form-urlencoded (strings de consulta de formulários HTML). Em segmentos de caminho de URL, + é interpretado como um sinal de mais literal, não um espaço. Sempre use %20 para espaços em segmentos de caminho.
https://example.com/my+file+name.pdf
https://example.com/my%20file%20name.pdf
Usando encodeURI em Valores de Parâmetros de Consulta
encodeURI() não codifica &, = ou outros caracteres reservados, então usá-lo em um valor de parâmetro que contém esses caracteres corrompe a estrutura da string de consulta.
encodeURI('key=value&more') → 'key=value&more' (& not encoded!) encodeURIComponent('key=value&more') → 'key%3Dvalue%26more' Assumir Codificação Diferente de UTF-8
Alguns sistemas legados usam codificações como Latin-1 ou Shift-JIS para parâmetros de URL. Padrões modernos exigem UTF-8. Decodificar um parâmetro codificado em Shift-JIS com um decodificador UTF-8 produz texto corrompido.
Decoding %82%B1%82%F1 as UTF-8 (this is Shift-JIS for こん)
Using UTF-8: %E3%81%93%E3%82%93 correctly decodes to こん
Codificar Caminhos Relativos sem Contexto
Codificar um caminho relativo como ../images/photo.jpg com encodeURIComponent transforma as barras e pontos em sequências codificadas em percentual, quebrando a estrutura do caminho. Use encodeURI() ou codifique apenas os segmentos individuais do caminho.
encodeURIComponent('../images/photo.jpg') → '..%2Fimages%2Fphoto.jpg' Encode each segment: '../images/' + encodeURIComponent('my photo.jpg') Casos de Uso Comuns
- Depurar URLs Ilegíveis
- Decodifique URLs codificadas em percentual de logs de servidor, mensagens de erro ou ferramentas de desenvolvedor do navegador para ler o texto original legível.
- Desenvolvimento de API
- Codifique valores de parâmetros de consulta para chamadas de API REST, garantindo que caracteres especiais como &, = e espaços não quebrem a URL da requisição.
- Configuração de Fluxo OAuth
- Codifique corretamente redirect_uri e outros parâmetros de URL em URLs de autorização OAuth para evitar falhas de autenticação.
- URLs Internacionalizadas
- Codifique e decodifique URLs contendo chinês, japonês, coreano, árabe ou outros caracteres não-ASCII para aplicações web internacionalizadas.
- Análise de Links de Marketing
- Decodifique URLs de rastreamento de campanhas de e-mail e plataformas de publicidade para entender os parâmetros UTM incorporados e cadeias de redirecionamento.
- Inspeção de Estrutura de URL
- Analise URLs complexas em seus componentes — protocolo, host, porta, caminho, parâmetros de consulta e fragmento — para análise e modificação.
Detalhes Técnicos
- Caracteres Reservados e Não Reservados do RFC 3986
- O RFC 3986 define caracteres não reservados (A-Z, a-z, 0-9, -, ., _, ~) que nunca precisam de codificação, e caracteres reservados (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) que servem como delimitadores de URI e devem ser codificados em percentual quando usados como dados.
- Fluxo de Codificação de Bytes UTF-8
- Caracteres não-ASCII são primeiro convertidos para seu ponto de código Unicode, depois codificados como bytes UTF-8 (1-4 bytes dependendo do intervalo do ponto de código), e finalmente cada byte é codificado em percentual como %XX. Por exemplo: é (U+00E9) → bytes UTF-8 C3 A9 → %C3%A9. O emoji 🎉 (U+1F389) → bytes UTF-8 F0 9F 8E 89 → %F0%9F%8E%89.
- Terminologia URL vs URI
- Um URI (Identificador Uniforme de Recurso) é o termo geral para qualquer string identificadora. Uma URL (Localizador Uniforme de Recurso) é um URI que também especifica o mecanismo de acesso (como https://). As regras de codificação no RFC 3986 se aplicam a todos os URIs. A API do JavaScript usa a terminologia URI (encodeURI, decodeURI), enquanto o uso cotidiano favorece URL.
Melhores Práticas
- Use o Modo Certo para o Trabalho
- Use encodeURIComponent() para chaves e valores individuais de parâmetros de consulta. Use encodeURI() apenas quando tiver uma URL completa e quiser codificar caracteres inseguros sem quebrar sua estrutura. Nunca use encodeURI() em valores de parâmetros que possam conter &, = ou outros caracteres reservados.
- Evite Codificação Dupla
- Antes de codificar uma string, verifique se ela já está codificada. Procure sequências % existentes. Codificar uma string já codificada transforma %20 em %2520, %3D em %253D, e assim por diante. Se não tiver certeza, decodifique primeiro, depois codifique uma vez.
- Decodifique no Lado do Servidor
- A maioria dos frameworks web decodifica automaticamente parâmetros de URL antes que o código da sua aplicação os veja. Evite decodificar manualmente parâmetros que seu framework já decodificou — isso pode causar problemas se o valor original contiver sequências percentuais literais.
- Codifique Valores para OAuth e Assinatura de API
- Strings base de assinatura OAuth 1.0 e muitos algoritmos de assinatura de API requerem codificação percentual estrita conforme RFC 3986. Use encodeURIComponent() e depois substitua quaisquer caracteres restantes que não são codificados (como !, ', (, ), *) por seus equivalentes codificados em percentual se a especificação exigir.
Perguntas Frequentes
O que é codificação de URL e por que é necessária?
Qual é a diferença entre encodeURI e encodeURIComponent?
A codificação de URL é o mesmo que a codificação HTML?
Por que minha URL quebra quando uso em um comando curl?
Por que caracteres chineses se tornam strings como %E4%B8%AD em URLs?
Devo codificar o parâmetro redirect_uri do OAuth?
Qual é a diferença entre querystring do Node.js e URLSearchParams?
Como codifico uma URL em Python, JavaScript e Java?
Quais caracteres não são codificados pela codificação de URL?
Qual é a diferença entre + e %20 para codificar espaços?
Como a codificação de URL lida com emoji?
A codificação de URL pode ser usada para criptografia ou segurança?
Qual é o comprimento máximo de uma URL?
Qual é a diferença entre URL e URI?
Ferramentas relacionadas
Ver todas as ferramentas →Decodificador e Codificador Base64
Codificação e Formatação
Decodifique e codifique Base64 online gratuitamente. Conversão em tempo real com suporte completo a UTF-8 e emoji. 100% privado — executa no seu navegador. Sem necessidade de cadastro.
Formatador e Validador JSON
Codificação e Formatação
Formate, valide e embeleze JSON instantaneamente no seu navegador. Ferramenta online gratuita com validação de sintaxe, detecção de erros, minificação e cópia com um clique. 100% privado — seus dados nunca saem do seu dispositivo.
Conversor de Base Numérica — Binário, Hex, Decimal e Octal
Ferramentas de Conversão
Converta números entre binário, hexadecimal, decimal, octal e qualquer base personalizada (2-36) instantaneamente. Gratuito, privado, sem cadastro — todo o processamento acontece no seu navegador.
Comprimir Imagens Online — JPEG, PNG e WebP
Ferramentas de Conversão
Reduza o tamanho de imagens em até 80% — comprima JPEG, PNG e WebP no navegador, sem upload. Lote de 20 imagens, ajuste de qualidade, compare antes e depois. Gratuito e privado.
Conversor de Comprimento — Métrico, Imperial e Mais
Ferramentas de Conversão
1 polegada = 2,54 cm, 1 pé = 0,3048 m, 1 milha = 1,609 km. Converta entre 16 unidades de comprimento instantaneamente — métrico, imperial, náutico e astronômico. Gratuito, privado, roda no seu navegador.
Gerador de Hash MD5 e Ferramenta de Checksum
Ferramentas de Segurança
Gere hashes MD5, SHA-256, SHA-1 e SHA-512 online gratuitamente. Faça hash de texto ou arquivos no navegador, verifique checksums e copie resultados. Sem cadastro necessário.