Criado com IA avançada no seu dispositivo e aceleração de hardware para um desempenho profissional com privacidade total.IA no seu dispositivo — profissional e privado.
Ferramenta online de codificador decodificador URL
Codifique ou descodifique URLs: quatro perfis, 37 conjuntos de caracteres.
- Funciona no seu dispositivo
- Perfis RFC 3986 estrito e formulário
- Recupera sequências danificadas em vez de falhar
- 10 MB grátis · 20 arquivos com Pro
Solte um arquivo de texto com URLs para converter
Um arquivo até 10 MB. TXT, CSV, LOG, JSON e mais.
Mantidos literais: !'()*-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~
UTF-8 mais os conjuntos antigos de um byte. Os multibyte são apenas de decodificação.
Um valor de consulta ou segmento de caminho. Igual a encodeURIComponent.
Como codificar ou decodificar um URL
- 1
Escolha Codificar ou Decodificar
Codificar transforma em sequências de porcentagem os caracteres que um URL não pode transportar literalmente. Decodificar faz o inverso. O resultado se atualiza enquanto você digita, por isso não há nada para pressionar para um único URL.
- 2
Escolha um perfil de codificação
Componente serve para um valor de consulta ou segmento de caminho. RFC 3986 estrito codifica também ! ' ( ) * e é o que OAuth 1.0 e a assinatura de pedidos AWS exigem. URL completa mantém : / ? & = intactos para que o link continue navegável. Formulário corresponde ao que um navegador envia ao submeter um formulário.
- 3
Ajuste o conjunto de caracteres se os dados não forem UTF-8
Deixe em UTF-8 salvo se trabalhar com um sistema antigo. Uma string de consulta produzida por uma plataforma antiga pode conter bytes Windows-1252 ou Shift_JIS, e escolher o conjunto correto é o que transforma %E9 no caractere pretendido em vez de num erro.
- 4
Copie, transfira ou volte a passar o resultado
Copiar coloca todo o resultado na área de transferência, Baixar o salva como arquivo de texto, e Usar saída como entrada move o resultado para a caixa de entrada e inverte o sentido para confirmar que o ciclo fecha.
O que faz cada definição
Cada controle abaixo altera os bytes que saem, e cada um existe porque um fluxo de trabalho real precisa dele. Nada está reservado: as escolhas são as mesmas para todos.
Codificar e decodificar
Codificar transforma em sequências de porcentagem os caracteres que um URL não pode transportar literalmente. Decodificar faz o inverso. O sentido decide também que conjuntos de caracteres são oferecidos, porque os dois não são simétricos: um navegador consegue ler muitas mais codificações antigas do que consegue escrever.
O perfil de codificação
O perfil é o conjunto de caracteres deixados intactos. É a escolha mais consequente desta página, e a errada produz uma saída que parece correta e que um servidor específico rejeita. A seção seguinte compara os quatro.
O conjunto de caracteres
Deixe em UTF-8 salvo se souber o contrário. Decide que bytes as sequências representam, e é a diferença entre %E9 ler-se como um e acentuado ou ser um erro. É independente de como se lê um arquivo largado: um arquivo Windows-1252 pode legitimamente conter sequências UTF-8, e então ambas as configurações estão certas ao mesmo tempo.
Decodificação tolerante
Ligada por padrão. Uma sequência malformada deixa intacto o texto em redor e é comunicada com a sua posição exata, em vez de fazer falhar a string inteira. Desative-a quando quiser uma falha rígida, por exemplo ao validar que uma string está bem formada em vez de a tentar ler.
Passagens de decodificação repetida
Decodifica até cinco vezes, parando assim que uma passagem não altera nada. O número comunicado é a profundidade real da codificação, não a definição: uma string codificada uma só vez continuará comunicando uma passagem, por mais alto que coloque o controle.
Mais como espaço
Um sinal de mais significa espaço em dados de formulário e em mais lugar nenhum. Aplicado por perfil: no modo URL completa a substituição só ocorre depois do primeiro ponto de interrogação, por isso um mais literal num caminho sobrevive. Nos modos componente e formulário a string inteira é tratada como consulta, porque é isso que é.
Sequências antigas %uXXXX
As strings produzidas pela antiga função escape() do JavaScript, e por várias plataformas Microsoft antigas, usam %u seguido de quatro dígitos hexadecimais para um caractere não ASCII. O decodificador padrão rejeita-as pura e simplesmente. Ative isto para lê-las.
Linha a linha
Converte cada linha separadamente e devolve-lhe o seu próprio fim de linha. É a definição para uma lista de links: codificar o arquivo inteiro como uma só string codificaria os próprios saltos de linha e daria uma única linha inutilizável.
Remover espaços em redor
Desligado por padrão, e de propósito. Os espaços são exatamente o tipo de caractere que o percent-encoding existe para preservar, por isso removê-los em silêncio anularia a ferramenta. Ative-o quando tiver copiado um URL de um e-mail e vier junto uma quebra de linha.
Por que usar um codificador e decodificador de URL?
Navegadores, servidores e caches tratam certos caracteres como estrutura: espaços, e-comerciais, cardinais e texto não ASCII precisam de ser codificados quando são dados e não sintaxe. Uma ferramenta dedicada deixa você ver a string exata que um cliente HTTP vai enviar, antes de publicar o código que a constrói.
Vantagens de uma codificação correta
- Transmissão segura — os caracteres reservados em conteúdo do usuário deixam de partir os analisadores que separam caminhos, consultas e fragmentos.
- Suporte de Unicode — os bytes UTF-8 são representados como sequências % para que o texto internacional sobreviva a transportes ASCII.
- APIs previsíveis — alinhar com o RFC 3986 reduz divergências entre o front-end, os aplicativos móveis e as frameworks de backend.
- Menos erros 400 — parâmetros bem codificados são menos rejeitados por gateways ou proxies rigorosos.
- Depuração mais fácil — compare uma string construída à mão com o que as funções padrão produzem antes de publicar uma correção.
Como funciona a codificação de URL
O percent-encoding reescreve como %HH cada byte que não pode aparecer literalmente num URL, sendo HH hexadecimal. Que caracteres ficam literais depende de estar protegendo um URL inteiro ou um componente — e isso é a única coisa que separa os quatro perfis seguintes.
De caracteres a bytes e a sequências
- Primeiro os caracteres tornam-se bytes — o texto é convertido em bytes no conjunto escolhido. Em UTF-8 um e acentuado são dois bytes e um caractere japonês três.
- Cada byte é testado — um byte do conjunto seguro do perfil é escrito literalmente; tudo o resto passa a % seguido de dois dígitos hexadecimais.
- O espaço é o caso especial — na codificação de formulário um espaço passa a sinal de mais em vez de %20, o único lugar onde essa substituição é correta.
- Decodificar percorre o caminho inverso — as sequências são agrupadas em séries de bytes e decodificadas em conjunto, porque um caractere é muitas vezes várias sequências seguidas.
Escolher o perfil de codificação certo
Os quatro perfis diferem apenas nos caracteres que deixam intactos, mas essa diferença decide se uma assinatura é validada e se um link ainda funciona. É isto que cada um mantém literal e quando recorrer a ele.
Componente
Deixa intactos letras, dígitos e - _ . ! ~ * ' ( ). Corresponde à função padrão encodeURIComponent e é o padrão correto para um valor de consulta, um campo de formulário ou um segmento de caminho. Use-o salvo se um dos três seguintes descrever a sua situação.
RFC 3986 estrito
Deixa intactos apenas letras, dígitos e - . _ ~ — o conjunto não reservado da especificação, e mais nada. Os cinco caracteres extra que o modo componente mantém (! ' ( ) *) são aqui codificados. Recorra a ele ao construir uma string base de assinatura OAuth 1.0 ou um pedido canônico AWS Signature Version 4, que exigem o conjunto estrito. Uma divergência aqui só falha quando um desses cinco caracteres aparece nos dados, o que a torna um dos problemas mais difíceis de reproduzir.
URL completa
Mantém os delimitadores que dão forma a um URL — : / ? # & = + $ , ; @ — para que um link inteiro continue navegável depois da codificação. Use-o quando estiver limpando um URL inteiro em vez de montar um. A decodificação é deliberadamente assimétrica neste modo: %2F continua %2F, porque transformá-lo numa barra acrescentaria um segmento de caminho que não existia. A caixa Decodificar também os delimitadores anula isso quando quer texto simples.
Formulário
Mantém apenas letras, dígitos e * - . _ , e escreve um espaço como sinal de mais. É o que um navegador realmente coloca na rede ao submeter um formulário, e o que URLSearchParams produz. Vale a pena saber que não é a única definição em circulação: quote_plus do Python codifica o asterisco e mantém o til, o inverso em ambos os casos. Esta ferramenta segue o padrão web atual, porque é contra isso que o servidor receptor foi construído.
Conjuntos de caracteres e sistemas antigos
Uma string codificada é uma sequência de bytes, e que caracteres esses bytes significam depende inteiramente da codificação usada pelo sistema. É aqui que as ferramentas que só falam UTF-8 desistem, e é uma boa parte do trabalho real.
Ler dados antigos
Estão disponíveis trinta e sete conjuntos de caracteres para decodificar, que cobrem as famílias de um byte — de Windows-1250 a 1258, a série ISO-8859, KOI8-R e KOI8-U, os conjuntos Mac e IBM866 — mais os conjuntos multibyte do Extremo Oriente Shift_JIS, EUC-JP, ISO-2022-JP, EUC-KR, GBK, GB18030 e Big5. Quase tudo o que foi produzido por uma plataforma PHP, ASP ou Java anterior a 2010 precisará de um destes.
Escrever dados antigos, e o que não é possível
Estão disponíveis vinte e oito conjuntos para codificar: UTF-8 e todos os conjuntos de um byte acima. Os conjuntos multibyte do Extremo Oriente são apenas de decodificação, e esse limite é declarado aqui em vez de ignorado em silêncio. Um caractere que o conjunto de destino não consegue representar é escrito como referência numérica, por exemplo €, em vez de descartado ou substituído por um ponto de interrogação — precisamente o que faz um navegador ao submeter um formulário numa página com codificação antiga, por isso o servidor receptor já sabe lê-lo.
Quando a decodificação falha, e o que fazer
A maioria das ferramentas desta categoria, e a função padrão decodeURIComponent sobre a qual assentam, tratam a decodificação como tudo ou nada. Um único caractere mau e recebe uma mensagem de erro em vez dos seus dados. São estas as quatro coisas que realmente dão errado e como esta ferramenta trata cada uma.
- Uma sequência truncada — um % com menos de dois dígitos hexadecimais a seguir, normalmente porque o URL foi cortado por uma linha de registro ou um campo de texto. A decodificação tolerante deixa-a estar e comunica a sua posição.
- Bytes inválidos no conjunto de caracteres — %E9 sozinho não é UTF-8 válido. Ou os dados estão numa codificação antiga — escolha-a na lista — ou a string está mesmo danificada, e nesse caso o modo tolerante marca o ponto.
- Codificação dupla — %2520 onde deveria estar %20. Aumente as passagens de decodificação repetida; o detalhe dos parâmetros indica quais estão afetados.
- %uXXXX antigo — não é percent-encoding de todo, mas sim a saída da antiga função escape(). Ative as sequências antigas para lê-lo.
Inspecionar um URL e os seus parâmetros
Cole algo que pareça um URL e aparece um detalhe por baixo do resultado: o esquema, o host, a porta, o caminho e o fragmento, e depois uma tabela de cada parâmetro de consulta com a chave e o valor decodificados individualmente.
Existe porque decodificar de uma vez um URL de seguimento inteiro dá uma linha ilegível, quando a pergunta que tinha era o que continha um parâmetro concreto. A tabela decodifica cada chave e valor à parte e assinala os que parecem duplamente codificados ou contêm uma sequência danificada — na prática costuma ser um único parâmetro, quase sempre um destino de redirecionamento, e encontrá-lo a olho num link com catorze parâmetros é a parte que demora. O detalhe comunica exatamente os caracteres que colou: não passa o host a minúsculas, não remove uma porta padrão nem resolve segmentos .., porque um diagnóstico que repara a sua entrada destruiu a prova.
Fatos a reter
Pequenos detalhes — como os sinais de mais em submissões de formulário face ao percent-encoding real — fazem tropeçar as equipes quando as frameworks discordam.
Referência rápida
- O espaço é %20 numa string de consulta, mas um sinal de mais num corpo application/x-www-form-urlencoded.
- Só caracteres não reservados (letras, dígitos, - . _ ~) podem aparecer sem codificação na codificação estrita.
- A codificação dupla produz URLs mais longos e pode confundir servidores; %2520 é a assinatura a procurar.
- O decodificador padrão falha perante um % seguido de hexadecimal incompleto, e então não devolve absolutamente nada.
- Um caractere japonês torna-se nove caracteres de saída, por isso uma string codificada pode ser muitas vezes mais longa do que o texto.
- Os nomes de domínio internacionalizados usam Punycode no DNS; a codificação de URL trata do caminho e da consulta, não da conversão do host.
Boas práticas
Codifique na fronteira onde texto não confiável passa a fazer parte de um URL, e descodifique uma vez quando voltar a tratá-lo como dados.
- Codifique cada valor de consulta individualmente em vez de codificar o URL inteiro duas vezes.
- Registre a entrada bruta do usuário separadamente da string codificada ao depurar analítica ou redirecionamentos.
- Prefira links HTTPS ao compartilhar URLs codificados que contenham tokens sensíveis.
- Valide a saída decodificada antes de a injetar em HTML para evitar problemas com links maliciosos.
- Teste ambos os sentidos se o seu produto suportar links profundos a partir de e-mail ou SMS.
Casos de uso ideais
- Desenvolvimento web — construa filtros de pesquisa, parâmetros UTM e URIs de redirecionamento OAuth com confiança.
- Integração de APIs — iguale o comportamento do SDK quando a documentação refere o percent-encoding do RFC 3986.
- QA e suporte — reproduza URLs de clientes sem adivinhar que caracteres foram codificados.
- Documentação — mostre exemplos exatos de antes e depois para integrações com parceiros.
- Scripts de migração — compare as regras de escape antigas com o que os clientes modernos produzem.
Arquivos, lotes e limites
Um URL isolado é digitado ou colado; uma lista deles chega como arquivo. Ambos os caminhos passam pelo mesmo motor e cumprem os mesmos limites.
Que arquivos abre
Texto simples e formatos com forma de texto: .txt, .log, .csv, .tsv, .md, .json, .xml, .html, .yaml, .ini, .env, .sql, .har, as extensões de código habituais e os atalhos .url. Tudo o resto é recusado pelo nome, com um link para a ferramenta que o trata: um PDF é encaminhado para o extrator de texto em vez de ignorado em silêncio. O seletor de arquivos só oferece os formatos que funcionam, por isso não pode escolher um arquivo e ver que nada acontece.
Que codificações de texto lê
UTF-8, UTF-8 com marca de ordem de bytes, e UTF-16 em qualquer das ordens quando o arquivo traz uma marca que o identifica. Um arquivo UTF-16 sem marca é recusado em vez de adivinhado, porque a ordem dos bytes é cara ou coroa e errar produz disparate convincente em vez de um erro. Seja qual for a codificação com que chegou, é com essa que sai, por isso um CSV de Windows não regressa como algo que o Excel abra mal.
O que a versão gratuita inclui
Todos os perfis de codificação, todos os conjuntos de caracteres que o dispositivo suporta, a decodificação tolerante, a decodificação repetida, as sequências antigas, a conversão linha a linha e o detalhe dos parâmetros — mais um arquivo de cada vez até 10 MB, e colagem ilimitada dentro do mesmo tamanho. Nenhuma funcionalidade de conversão é retida.
O que a Pro acrescenta
Uma fila de até vinte arquivos, um download ZIP único para todo o lote, e a remoção do teto de 10 MB — a Pro é limitada pelo que o seu dispositivo aguenta, não por um número fixo maior. O limite gratuito de 10 MB está onde está porque o percent-encoding é a rara operação de texto cuja saída é maior do que a entrada: cada byte pode tornar-se três caracteres, por isso 10 MB de entrada podem ser 31 milhões de caracteres de saída.
Limitações e compatibilidade
Três coisas que esta ferramenta deliberadamente não faz. Os conjuntos multibyte do Extremo Oriente estão disponíveis para decodificar mas não para codificar, porque as suas tabelas não podem ser derivadas ao contrário a partir do que um navegador oferece. A decodificação repetida para às cinco passagens, muito acima de qualquer profundidade vista na prática. E o detalhe dos parâmetros comunica o URL tal como foi escrito em vez de o normalizar, por isso mostrar-lhe-á de bom grado um URL malformado, que é precisamente o objetivo.
Medido na máquina de referência: um URL de 100.000 caracteres converte-se em menos de um milissegundo, e um documento no limite gratuito de 10 MB em bastante menos de um segundo. A conversão acontece enquanto você digita até cerca de um quarto de milhão de caracteres; acima disso passa para fora do fio da interface, de modo que a página nunca deixa de responder.
Perguntas frequentes
Como funciona este codificador e decodificador de URL?
Escolha Codificar para transformar os caracteres reservados em sequências de porcentagem, ou Decodificar para reverter a codificação válida para texto simples. Escolha um perfil, digite ou cole a sua string e o resultado se atualiza ao vivo. Copie a saída com um clique, ou solte um arquivo de texto para converter uma lista inteira de links de uma só vez.
Qual é a diferença entre codificação de componente e de URL completa?
O modo componente codifica quase todos os caracteres reservados, que é o adequado para uma chave ou valor de consulta ou um segmento de caminho. O modo URL completa deixa intactos os delimitadores estruturais como : / ? & = para que o URL continue navegável depois da codificação. Faça corresponder o decodificador ao que usou, ou o ciclo não fecha.
Os meus dados são privados e seguros?
Sim. Tudo acontece no seu dispositivo e nada do que cola ou larga é enviado para lugar nenhum. É também por isso que a ferramenta continua funcionando sem conexão depois de a página carregar, e por isso os limites existentes dizem respeito ao que o seu próprio dispositivo aguenta, não aos nossos servidores.
O que é percent-encoding e como são tratados os caracteres Unicode?
O percent-encoding escreve cada byte que não pode aparecer literalmente num URL como % seguido de dois dígitos hexadecimais, por isso um espaço se torna %20. O texto não ASCII é primeiro convertido para UTF-8 e depois cada byte é codificado, por isso caracteres internacionais e emoji sobrevivem a transportes ASCII segundo o RFC 3986. Um caractere japonês torna-se nove caracteres de saída, e é por isso que uma string codificada pode ser várias vezes mais longa do que aquilo que você digitou.
Por que decodeURIComponent falha com a minha string e esta ferramenta não?
A função incorporada do JavaScript faz falhar a string inteira na primeira sequência malformada e não devolve nada, por isso um único %E truncado no fim de uma linha de registro custa-lhe o URL completo. Esta ferramenta decodifica de forma tolerante por padrão: devolve tudo o que é válido e indica a posição exata de cada sequência que não conseguiu ler. Desative a decodificação tolerante se preferir uma falha rígida.
Como corrijo um URL duplamente codificado?
Um valor que passou duas vezes por um codificador mostra %2520 onde deveria mostrar %20. Aumente o controle de passagens de decodificação acima de um e a ferramenta decodifica até a string deixar de mudar, indicando depois quantas passagens foram realmente necessárias. O detalhe dos parâmetros também assinala cada parâmetro que parece duplamente codificado, que normalmente é apenas um.
Que perfil devo usar para OAuth ou para assinar pedidos AWS?
RFC 3986 estrito. A função incorporada encodeURIComponent deixa cinco caracteres sem codificar — ! ' ( ) * — e tanto as strings base de assinatura OAuth 1.0 como os pedidos canónicos AWS Signature Version 4 exigem que sejam codificados. Errar aqui produz uma assinatura que só é rejeitada quando um desses cinco caracteres aparece nos dados, o que a torna difícil de depurar.
Quando é que um sinal de mais é um espaço?
Apenas em dados application/x-www-form-urlencoded, ou seja, strings de consulta e corpos de formulário. Um mais num caminho é um mais literal. Esta ferramenta aplica a regra por perfil e não à string inteira, por isso decodificar https://exemplo.com/a+b?q=c+d como URL completa deixa o caminho intacto e transforma em espaço apenas o mais da consulta.
Posso codificar texto que não seja UTF-8?
Sim. A ferramenta oferece 28 conjuntos de caracteres para codificar — UTF-8 mais os conjuntos antigos de um byte como Windows-1252, ISO-8859-5 e KOI8-R — e 37 para decodificar, que cobrem ainda conjuntos multibyte como Shift_JIS, GB18030, Big5 e EUC-KR. Um caractere que o conjunto de destino não consegue representar é escrito como referência numérica em vez de descartado, que é o que um navegador faz ao submeter um formulário numa codificação antiga.
Posso converter um arquivo inteiro ou uma lista de links?
Sim. Solte um .txt, .csv, .log, .json ou outro dos formatos de texto aceitos, e ative linha a linha para converter cada linha separadamente mantendo o seu próprio fim de linha. A versão gratuita converte um arquivo até 10 MB; a Pro aumenta a fila para vinte arquivos, acrescenta um download ZIP único para o lote e aumenta o limite de tamanho até ao que o seu dispositivo aguentar.
A ferramenta é gratuita e funciona offline no celular?
Sim. O codificador/descodificador de URL é totalmente gratuito. Funciona em celulares, tablets e computadores, e depois de a página carregar continua funcionando sem conexão à internet.
de 521 avaliações
Avalie esta ferramenta
Toque numa estrela — leva um segundo