Conversor Gratuito

Codificador de URL / Decodificador

Codifique e decodifique URLs e componentes URI instantaneamente no seu navegador. Gratuito, privado e sem necessidade de upload.

Ou

Sobre esta ferramenta

A codificação de URL (formalmente codificação percentual, definida na RFC 3986) traduz caracteres que têm significado especial em URLs – espaços, barras, e comerciais, marcas de hash – em um formato seguro usando sinais de porcentagem seguidos de dígitos hexadecimais. O caractere de espaço torna-se %20 (ou + em contextos codificados por formulário), o E comercial torna-se %26 e assim por diante. Sem esta codificação, os caracteres especiais seriam interpretados como sintaxe de URL em vez de dados literais, quebrando o URL ou causando comportamento não intencional.

Existem duas codificações relacionadas, mas distintas. A codificação do componente de URL padrão usa% de escape para tudo fora do conjunto de caracteres não reservados: A-Z, a-z, 0-9, hífen, sublinhado, ponto final, til. A variante codificada por formulário (application/x-www-form-urlencoded) trata adicionalmente os espaços como sinais de mais e usa regras diferentes para alguns outros caracteres. O encodeURIComponent do JavaScript usa a codificação estrita do componente; encodeURI usa um formato mais permissivo que preserva os caracteres da estrutura da URL.

Esta ferramenta oferece codificação e decodificação. O modo de codificação agrupa cada caractere que requer escape no formato %HH; o modo de decodificação inverte a transformação. Ambos são executados inteiramente no seu navegador usando funções de URL JavaScript integradas, portanto, nenhum dado é enviado para lugar nenhum.

Por que codificar ou decodificar URLs

Sempre que dados são incluídos em um URL – parâmetros de string de consulta, segmentos de caminho contendo entrada do usuário, destinos de redirecionamento – a codificação adequada é necessária. A falha na codificação produz URLs que quebram quando caracteres especiais aparecem, vazam limites de parâmetros para strings de consulta (transformando &x=1 em um parâmetro separado) ou são bloqueados por servidores web como solicitações malformadas.

A decodificação é o inverso: extrair os dados originais de uma URL codificada. As barras de endereço do navegador geralmente mostram URLs em formato codificado; a decodificação revela o que realmente se pretendia. O registro, a depuração e a análise de segurança se beneficiam de URLs decodificados que mostram os parâmetros e caminhos originais.

Como usar

Cole uma string e escolha a direção.

  1. Escolha codificar ou decodificar: A codificação agrupa caracteres inseguros no formato %HH. A decodificação inverte %HH escapa de volta para caracteres literais.
  2. Adicionar texto de entrada: Cole a string para codificar ou decodificar. Para codificação, normalmente é um valor literal com espaços, caracteres especiais ou conteúdo não ASCII. Para decodificação, este é um URL ou componente de URL contendo escapes% HH.
  3. Converter: A ferramenta aplica encodeURIComponent ou decodeURIComponent. A saída codificada pode ser incorporada com segurança em um URL; decoded output is the original literal value.
  4. Copie ou baixe: Use o resultado onde precisar. Os valores codificados cabem em URLs; os valores decodificados revelam os dados originais.

Casos de uso comuns

Detalhes técnicos

encodeURIComponent codifica todos os caracteres fora do conjunto não reservado [A-Za-z0-9-_.~]. Os espaços tornam-se %20, os sinais de mais tornam-se %2B, os sinais de igual tornam-se %3D e assim por diante. Caracteres fora do ASCII são primeiro codificados em UTF-8 e então cada byte tem escape de %.

encodeURI é mais permissivo e destina-se a URLs completos em vez de componentes. Não escapa /, ?, &, =, # e alguns outros porque esses caracteres têm significado de sintaxe de URL. Para incorporar dados do usuário em uma URL, encodeURIComponent é quase sempre a escolha certa.

decodeURIComponent inverte %-escapes, validando que cada escape está bem formado e que os bytes resultantes formam UTF-8 válido. A entrada malformada gera um erro em vez de produzir lixo.

Melhores Práticas

Perguntas frequentes

Quais caracteres precisam de codificação de URL?
Caracteres reservados (&, =, ?, #, /, :, @) e caracteres inseguros (espaços, <, >, {, }, |, ^, ~, [, ], `) devem ser codificados. Caracteres alfanuméricos e -_.~ são seguros e não precisam de codificação.
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURI codifica um URL completo, mas preserva caracteres reservados (://?#). encodeURIComponent codifica tudo, exceto -_.!~*'() — use-o para valores de parâmetros de consulta. Esta ferramenta oferece ambos os modos.
Como os espaços são codificados em URLs?
Os espaços podem ser codificados como% 20 (codificação percentual padrão) ou + (codificação de formulário). %20 é correto para caminhos de URL, enquanto + é usado em strings de consulta de formulários HTML. Esta ferramenta usa %20 por padrão.
Posso codificar caracteres Unicode?
Sim. Os caracteres Unicode são primeiro codificados em bytes UTF-8 e, em seguida, cada byte é codificado por porcentagem. Por exemplo, '日' torna-se %E6%97%A5 (três bytes UTF-8, cada um codificado em porcentagem).
Devo usar encodeURI ou encodeURIComponent?
Quase sempre codificaURIComponent. Use encodeURI somente se você tiver uma URL completa e quiser preservar sua estrutura — normalmente raro, já que você constrói URLs a partir de componentes de qualquer maneira.
Meus dados são enviados para um servidor?
Não. A codificação e decodificação de URL acontecem inteiramente no seu navegador.
Ele lida com emoji Unicode?
Sim. Emoji são sequências UTF-8 multibyte; o codificador produz uma cadeia de % de bytes de escape que os decodificadores remontam corretamente no emoji original.
E se minha entrada tiver strings com aparência de% HH que não estão realmente codificadas?
A codificação transforma cada% em% 25 e reaplica o escape para o restante. A decodificação de entrada estrita gera erros em escapes malformados; strings de aparência ambígua podem ser decodificadas incorretamente.