Codificador / Decodificador de URL
Faça percent-encoding e decoding de URLs e parâmetros. Escopo de componente ou URL completa, tudo no seu navegador.
O que é codificação de URL?
Codificação de URL (também chamada de percent-encoding) é a forma de representar caracteres que não são seguros em URL — espaços, letras com acento, &, ?, #, etc. — substituindo cada um por % seguido do valor hexadecimal do byte. O padrão está definido na RFC 3986. Para caracteres fora do ASCII, os bytes vêm do UTF-8, então é vira %C3%A9 (dois bytes). Esta ferramenta envolve as funções encodeURIComponent e decodeURIComponent nativas do navegador.
Como usar
Escolha Codificar ou Decodificar no modo, depois selecione o escopo. Componente é o padrão certo para valores de query string, campos de formulário e qualquer coisa que vai virar ?chave=…. URL completa é para URLs já mais ou menos válidas que você quer escapar minimamente — ela preserva : / ? & = # para que esses caracteres mantenham o sentido estrutural. Cole o texto e o resultado atualiza ao vivo. Use Mover para entrada para jogar a saída de volta como entrada e inverter o modo num round-trip rápido.
Componente ou URL completa — qual escolher?
Se está codificando um único valor (um termo de busca, uma URL de redirect, um e-mail) para colar dentro de uma query string, use Componente. Se está codificando uma URL inteira que já é mais ou menos válida e só quer escapar o que é unsafe, use URL completa. As duas se comportam de forma bem diferente em ? e & — Componente codifica, URL completa não. Na dúvida, codifique os valores dentro da URL com Componente e monte a URL você mesmo.
Percent-encodings comuns
| Caractere | Codificado | Notas |
|---|---|---|
| space | %20 | Espaços viram %20 em URLs (ou + em corpos form-encoded). |
| & | %26 | Separa parâmetros da query string; tem que ser codificado dentro de um valor. |
| = | %3D | Separa nome do valor do parâmetro. |
| ? | %3F | Marca o início da query string. |
| # | %23 | Marca o início do fragmento (âncora) da URL. |
| / | %2F | Separador de caminho; só é codificado dentro de segmentos. |
| é | %C3%A9 | Caracteres não-ASCII são codificados em UTF-8 e depois percent-escapados byte a byte. |
Perguntas frequentes
Algo é enviado para um servidor?
encodeURIComponent / decodeURIComponent. Nada é logado nem transmitido. Você pode confirmar abrindo DevTools > Network — nenhuma requisição é disparada enquanto você digita.Por que + às vezes significa espaço?
application/x-www-form-urlencoded, usada em envio de formulários HTML. Nela, espaço vira + em vez de %20. O percent-encoding da RFC 3986 (que esta ferramenta usa) sempre usa %20. Se está decodificando o corpo de um envio de formulário e vê + no lugar de espaço, troque por espaço antes de decodificar, ou use um decodificador específico para form-encoded.Por que a decodificação falha com erro?
decodeURIComponent lança URIError quando a entrada tem um % sem dois dígitos hexadecimais válidos depois, ou quando os bytes não formam UTF-8 válido. Causas comuns são strings duplamente codificadas (rode decode duas vezes) ou URLs coladas que foram alteradas pelo auto-correct do editor.Qual a diferença entre encodeURI e encodeURIComponent?
encodeURI é para URLs inteiras — não toca em : / ? & = # @ nem em +, porque esses caracteres têm sentido estrutural na URL. encodeURIComponent é para pedaços de URL (um valor de query, um segmento de path) e codifica tudo que não é caractere reservado. Regra de bolso: monte URLs concatenando partes passadas por encodeURIComponent; nunca confie em encodeURI para entrada de usuário.Dá para codificar emoji?
%F0%9F%8E%89) porque é um codepoint de 4 bytes fora do plano básico. A decodificação inverte o processo — você recupera o emoji original.Devo codificar a URL mais de uma vez?
? e o & da URL interna são interpretados como parte da externa. Para decodificar, rode o decode o mesmo número de vezes. Se acidentalmente codificou uma URL duas vezes, decodifique duas vezes e você recupera o original.
EN
PT
ES