Codificador/Decodificador de URL
Codifique caracteres especiais para URLs ou decodifique strings URL codificadas em porcentagem. Essencial para desenvolvimento web e trabalho com APIs.
Como Usar
- Insira ou cole seu texto ou URL na área de entrada
- Clique em Codificar para codificar caracteres especiais em porcentagem, ou em Decodificar para converter de volta
- Copie o resultado para usar na sua aplicação
Perguntas Frequentes
-
O que é codificação de URL?
A codificação de URL (também chamada de codificação percentual) substitui caracteres especiais por um sinal de porcentagem seguido de seu valor hexadecimal. Por exemplo, um espaço se torna %20.
-
Quando devo codificar URL?
Codifique URLs ao incluir caracteres especiais em parâmetros de URL, strings de consulta ou dados de formulário que serão enviados via HTTP.
-
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURI codifica um URI completo, preservando caracteres como :, / e ?. encodeURIComponent codifica tudo exceto letras, dígitos e alguns caracteres especiais, tornando-o adequado para codificar valores de parâmetros individuais.
-
Esta ferramenta lida com caracteres Unicode?
Sim, os caracteres Unicode são primeiro codificados em bytes UTF-8 e, em seguida, cada byte é codificado em porcentagem.
O Que é Codificação de URL?
URLs (Uniform Resource Locators) são definidas pelo padrão RFC 3986 e só podem conter um conjunto restrito de caracteres ASCII: letras (A–Z, a–z), dígitos (0–9) e alguns caracteres especiais reservados como -, _, ., ~. Qualquer outro caractere — incluindo espaços, acentos, símbolos como &, =, # e todos os caracteres Unicode — precisa ser codificado em porcentagem (percent-encoding) para ser incluído em uma URL de forma segura.
A codificação funciona substituindo cada byte problemático por um sinal % seguido de dois dígitos hexadecimais. Um espaço (byte 0x20) vira %20, uma arroba @ (byte 0x40) vira %40, e assim por diante.
Por Que Alguns Caracteres São "Reservados"?
Na estrutura de uma URL, certos caracteres têm significado especial:
/— separador de caminho?— início da query string&— separador de parâmetros=— separador de chave/valor#— início do fragmento (âncora)
Se um desses caracteres aparecer dentro do valor de um parâmetro, sem codificação, o navegador e o servidor interpretarão mal a URL. Por exemplo, ?nome=João & Silva quebraria o parsing porque o & seria interpretado como início de um novo parâmetro.
encodeURI vs. encodeURIComponent
JavaScript oferece duas funções nativas para codificação de URL, e entender a diferença é fundamental:
encodeURI()
Codifica uma URL completa, preservando os caracteres que fazem parte da estrutura da URL: :, /, ?, &, =, #, @. Use quando você tem uma URL inteira e quer apenas torná-la segura para transmissão.
encodeURI("https://exemplo.com/busca?q=café & bolo")
// → "https://exemplo.com/busca?q=caf%C3%A9%20&%20bolo"
encodeURIComponent()
Codifica tudo, incluindo os caracteres estruturais da URL. É a função correta para codificar o valor de um parâmetro individual:
encodeURIComponent("café & bolo")
// → "caf%C3%A9%20%26%20bolo"
Note que & foi codificado para %26 — essencial quando ele faz parte de um valor, não de um separador.
Caracteres Unicode e UTF-8
O padrão RFC 3986 exige que caracteres fora do ASCII sejam primeiro codificados em bytes UTF-8 e depois cada byte seja representado como %XX. Por isso, o acento é (U+00E9) vira dois bytes em UTF-8 (0xC3 0xA9) e é representado como %C3%A9 na URL.
Isso é especialmente relevante para URLs em português, que frequentemente contêm letras acentuadas. Servidores web modernos decodificam automaticamente esses valores, mas é importante garantir que a codificação seja feita antes de montar a URL.
Casos Práticos
- Formulários HTML: valores de campos
<input>são automaticamente codificados quando enviados viaGETouPOST, mas você precisa codificar manualmente ao construir URLs via JavaScript. - APIs REST: parâmetros de busca com caracteres especiais devem ser codificados para garantir que a requisição chegue correta ao servidor.
- Slugs de URLs amigáveis: ao converter títulos de artigos em URLs (
"Olá, Mundo!" → "ola-mundo"), caracteres acentuados e especiais precisam ser removidos ou codificados. - Compartilhamento de links: links gerados dinamicamente com dados do usuário devem ser codificados para evitar quebras.