Codificador e decodificador de URL
Um codificador e decodificador de URL gratuito. Codifique texto ou um endereço inteiro, transforme sequências %XX de volta em texto legível e veja os parâmetros que uma URL realmente carrega. Tudo é convertido no seu navegador — nada é enviado.
Codificar ou decodificar
Cole texto, uma URL ou uma string codificada. A conversão acontece enquanto você digita, e nada é enviado ou salvo.
Cole algo acima para converter.
Nada convertido ainda.
Seu texto é convertido localmente com JavaScript. Nunca é enviado a um servidor, registrado ou salvo.
URLs só aceitam um conjunto pequeno de caracteres. Todo o resto — espaços, acentos, emojis ou os caracteres que dão estrutura à URL, como & e ? — precisa ser escrito como % seguido dos dois dígitos hexadecimais de cada byte UTF-8. Esta ferramenta faz a conversão nos dois sentidos e mostra a URL resultante, parte por parte.
Principais vantagens
Casos de uso comuns
Como usar
- 1.Escolha a direção. Selecione Texto → codificado para codificar ou Codificado → texto para decodificar.
- 2.Escolha o que vai codificar. Deixe Codificar uma URL inteira desligado para um único valor, como um parâmetro; ligue para um endereço completo que precisa continuar funcionando.
- 3.Cole a entrada. A conversão acontece enquanto você digita. Se for um endereço web, as partes da URL mostram o host, o caminho e cada parâmetro decodificado.
- 4.Copie ou confira. Copie o resultado ou clique em Inverter para converter de volta e confirmar que você obtém o original.
A codificação percentual, explicada
As regras vêm da RFC 3986 e da especificação de formulários HTML. A maioria dos bugs vem de aplicar a regra errada no lugar errado.
%20 é um espaço, %2F uma barra e %C3%A7 os dois bytes UTF-8 de ç.- . _ ~ nunca precisam ser codificados. É permitido, mas inútil.: / ? # [ ] @ ! $ & ' ( ) * + , ; = estruturam a URL. Dentro de um valor precisam ser codificados, ou mudam o significado.encodeURIComponent codifica todos os reservados e serve para um valor. encodeURI os mantém e serve para um endereço inteiro.%20 em %2520. Se você vê %25 seguido de dois dígitos hexadecimais, algo codificou um valor já codificado.Principais recursos
- Codifica e decodifica, com botão para inverter e conferir
- Dois modos: um valor (encodeURIComponent) ou uma URL inteira (encodeURI)
- Opção de + para espaços, como nos formulários HTML
- Divide a URL em esquema, host, caminho, fragmento e parâmetros decodificados
- Mostra onde está uma sequência % malformada em vez de falhar em silêncio
- Avisa quando a entrada parece codificada duas vezes
- Funciona offline depois de carregada; sem conta, sem envio
Codificar não é escapar para HTML ou SQL
A codificação percentual torna um valor seguro dentro de uma URL. Ela não o torna seguro dentro de HTML, JavaScript ou de uma consulta ao banco de dados — cada um tem suas próprias regras. Um valor bem codificado ainda pode levar um ataque de injeção quando o servidor o decodifica.
Codifique conforme o destino: codificação percentual para URLs, escape de HTML para páginas e consultas parametrizadas para SQL. Se seus dados viajam em Base64 dentro de uma URL, use o alfabeto seguro para URL; nosso codificador e decodificador Base64 faz as duas coisas.
Perguntas frequentes
O que é codificação de URL?⌄
A codificação de URL, ou codificação percentual, escreve os caracteres não permitidos numa URL como um % seguido de dois dígitos hexadecimais para cada byte. Um espaço vira %20 e ç vira %C3%A7, seus dois bytes UTF-8. Assim qualquer texto pode viajar dentro de uma URL sem mudar o significado.
Qual a diferença entre encodeURI e encodeURIComponent?⌄
encodeURIComponent codifica todos os caracteres com significado especial numa URL, incluindo / ? & e =, por isso é a escolha certa para um valor como um parâmetro. encodeURI os mantém para que um endereço completo continue funcionando. Usar encodeURI num valor deixa um & interno dividir seu parâmetro em dois.
Espaço é %20 ou +?⌄
Os dois estão certos em lugares diferentes. Na consulta de um formulário HTML (application/x-www-form-urlencoded), espaço é +. No caminho e na maioria das APIs, espaço é %20 e + é um sinal de mais literal. Na dúvida, %20 é sempre seguro.
Por que vejo %2520 na minha URL?⌄
%25 é o próprio sinal % codificado, então %2520 é %20 codificado pela segunda vez. Algo codificou um valor que já estava codificado. Decodifique duas vezes para recuperar o original e corrija o código para codificar uma única vez.
Codificação de URL é criptografia?⌄
Não. Ela é totalmente reversível e não usa chave, então qualquer pessoa pode decodificá-la. Nunca a use para esconder uma senha, um token ou dados pessoais numa URL; URLs vão parar em logs, históricos e cabeçalhos Referer.