Codificar/Decodificar URL
Esta ferramenta processa os dados localmente no seu navegador. Nenhuma informação é enviada para servidores externos.
O que é URL Encoding?
URL encoding (também chamado de percent-encoding ) é o mecanismo definido pela RFC 3986 para representar caracteres especiais em URLs. Como as URLs só podem conter um conjunto limitado de caracteres ASCII, qualquer caractere fora desse conjunto — como acentos, espaços e símbolos — precisa ser convertido para um formato seguro usando % seguido de dois dígitos hexadecimais.
encodeURIComponent vs encodeURI
O JavaScript oferece duas funções nativas para codificação de URL, cada uma com um propósito diferente:
- encodeURIComponent — codifica quase todos os caracteres especiais, incluindo
: / ? # & = @ +. Use para codificar valores individuais de parâmetros em query strings. - encodeURI — preserva a estrutura da URL, não codificando
: / ? # & =. Use para codificar uma URL completa que contenha caracteres especiais no caminho ou parâmetros.
Exemplos práticos
Ao enviar o parâmetro nome=João & Maria em uma URL, o espaço é convertido para %20 , o & para %26 e os acentos para seus respectivos códigos UTF-8. Isso garante que o servidor receba os dados corretamente sem confundir caracteres reservados da URL com os dados do usuário.
Caracteres reservados
Os seguintes caracteres possuem significado especial em URLs e são codificados pelo encodeURIComponent : : / ? # [ ] @ ! $ & ' ( ) * + , ; = . Já o encodeURI preserva a maioria desses caracteres para manter a estrutura da URL intacta.
Perguntas Frequentes
URL encoding é o processo de converter caracteres especiais em um formato que pode ser transmitido pela Internet. Caracteres como espaços, acentos e símbolos são substituídos por códigos com % seguido de dois dígitos hexadecimais (ex: espaço vira %20).
encodeURIComponent codifica quase todos os caracteres especiais, incluindo : / ? # & = @. É ideal para codificar valores de parâmetros de query string. Já encodeURI preserva a estrutura da URL, não codificando : / ? # & =, sendo ideal para codificar uma URL completa.
Sempre que precisar incluir caracteres especiais, acentos ou espaços em:
- URLs e parâmetros de query string
- Formulários HTML (
application/x-www-form-urlencoded) - Requisições de API
- Links com texto dinâmico
Sim. Toda a codificação e decodificação é feita localmente no seu navegador usando as funções nativas do JavaScript (encodeURIComponent, decodeURIComponent, encodeURI, decodeURI). Nenhum dado é enviado para servidores externos.
%20 representa um espaço, %3A representa dois-pontos (:) e %2F representa barra (/). Esses são códigos percent-encoding definidos pelo padrão RFC 3986 para representar caracteres reservados ou não seguros em URLs.
A especificação HTTP não define um limite oficial, mas na prática a maioria dos navegadores suporta URLs de até 2.048 caracteres (limite histórico do Internet Explorer). Servidores como Apache têm um limite padrão de 8.192 caracteres. Recomenda-se manter URLs abaixo de 2.000 caracteres para máxima compatibilidade.