URL Encode / Decode online
Cole o texto para codificar em formato URL, ou cole um texto URL-encoded para decodificar. Suporte a acentos, espaços, símbolos e todos os caracteres especiais.
O que é URL encoding?
URL encoding (também chamado de percent-encoding) é um mecanismo que converte caracteres que não são permitidos em URLs para uma representação segura usando o símbolo % seguido de dois dígitos hexadecimais.
Por exemplo, o espaço vira %20, a letra ã vira %C3%A3, e assim por diante.
Por que URLs precisam de encoding?
URLs só podem conter um conjunto limitado de caracteres ASCII: letras (A–Z, a–z), dígitos (0–9) e alguns símbolos especiais como -, _, . e ~. Qualquer outro caractere — incluindo espaços, acentos, @, #, ?, &, = — precisa ser codificado para que a URL seja válida e interpretada corretamente por navegadores e servidores.
Imagine tentar passar o valor olá mundo como parâmetro de busca: sem encoding, o servidor não conseguiria distinguir o espaço de um separador de parâmetros. Com encoding: ol%C3%A1%20mundo.
encodeURIComponent vs encodeURI
Existem duas funções JavaScript amplamente usadas para URL encoding, com comportamentos distintos:
| Função | O que codifica | Uso típico |
|---|---|---|
encodeURIComponent | Tudo exceto A-Z a-z 0-9 - _ . ! ~ * ' ( ) | Valores de parâmetros de query string |
encodeURI | Preserva :, /, ?, &, =, #, +, @ | URLs completas |
Esta ferramenta usa encodeURIComponent, que é a escolha correta para codificar valores (não URLs inteiras).
Caracteres comuns e seus códigos
| Caractere | Código URL |
|---|---|
| espaço | %20 |
ã | %C3%A3 |
á | %C3%A1 |
é | %C3%A9 |
ç | %C3%A7 |
@ | %40 |
# | %23 |
& | %26 |
= | %3D |
+ | %2B |
/ | %2F |
Exemplo prático
Suponha que você queira passar o texto "olá mundo" como parâmetro de uma URL:
- Texto original:
olá mundo - Após URL encoding:
ol%C3%A1%20mundo - URL resultante:
https://exemplo.com/busca?q=ol%C3%A1%20mundo
Ao receber a requisição, o servidor decodifica automaticamente ol%C3%A1%20mundo de volta para olá mundo.
O símbolo + em URL encoding
Historicamente, formulários HTML codificam espaços como + (em vez de %20) no formato application/x-www-form-urlencoded. Esta ferramenta reconhece ambas as formas ao decodificar: + é convertido para espaço, assim como %20.
Perguntas frequentes
Quando devo usar URL encoding?
Sempre que você precisar incluir dados do usuário em uma URL — como termos de busca, nomes, endereços, senhas em links de reset, etc. Sem encoding, caracteres especiais podem corromper a URL ou causar vulnerabilidades de segurança.
Por que ã vira dois códigos (%C3%A3)?
O URL encoding codifica os bytes UTF-8 do caractere, não o código Unicode diretamente. A letra ã ocupa 2 bytes em UTF-8 (0xC3 e 0xA3), por isso resulta em dois grupos %XX.
Qual a diferença entre URL encoding e HTML encoding?
URL encoding (%XX) é usado em URLs e query strings. HTML encoding (entidades como &, <) é usado dentro de documentos HTML para escapar caracteres com significado especial no markup. São mecanismos distintos para contextos distintos.
URL encode é o mesmo que Base64?
Não. URL encoding converte caracteres para %XX e o resultado permanece legível. Base64 converte dados binários em texto ASCII e o resultado é uma sequência opaca. São técnicas diferentes para propósitos diferentes.
Veja também
- URL Encode — codificação em tempo real
- URL Decode — decodificação em tempo real
- HTML Encode/Decode
- Base64 Encode/Decode