Codificador/Decodificador de URL
Converta caracteres especiais em formato URL seguro (encode) e vice-versa (decode). Suporte para codificação completa, parcial, e diversos padrões de caracteres.
Texto Original
DECODE
Visualização: Olá Mundo! Este é um teste...
Texto Codificado/Decodificado
ENCODE
Visualização: Ol%C3%A1%20Mundo%21%20Este%20%C3%A9%20um...
62
Caracteres de Entrada
172
Caracteres de Saída
27
Caracteres Codificados
2.77x
Taxa de Expansão
Tipo de Codificação
Conjuntos de Caracteres
| Caractere | Codificado | Descrição | Ação |
|---|
Ações Rápidas
O Que é Codificação de URL?
Percent Encoding
Substitui caracteres não-ASCII ou reservados por % seguido de dois dígitos hexadecimais.
Para URLs
Permite que URLs contenham caracteres especiais, acentuados e espaços de forma segura.
Formulários Web
Dados de formulários HTML são automaticamente codificados quando enviados via GET.
APIs e Web Services
Necessário para passar parâmetros em requisições HTTP de forma correta e segura.
Tipos de Codificação
encodeURIComponent() - (Recomendado para valores):
- Codifica: tudo exceto: A-Z a-z 0-9 - _ . ! ~ * ' ( )
- Uso: valores de parâmetros de query string
- Exemplo:
encodeURIComponent("olá mundo!")→"ol%C3%A1%20mundo%21"
encodeURI() - (Para URLs completas):
- Codifica: tudo exceto: A-Z a-z 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
- Uso: URLs completas (preserva estrutura)
- Exemplo:
encodeURI("https://site.com/página")→"https://site.com/p%C3%A1gina"
escape() - (Depreciado, evite usar):
- Codifica: caracteres não-ASCII (Unicode)
- Problema: não segue padrão RFC, formato diferente
- Exemplo:
escape("olá")→"ol%u00E1"(formato antigo)
Caracteres Comuns e Suas Codificações
| Caractere | Codificação | Descrição | Uso |
|---|---|---|---|
| Espaço | %20 ou + | Espaço em branco | Query strings |
| & | %26 | E comercial | Separador de parâmetros |
| = | %3D | Igual | Atribuição em queries |
| ? | %3F | Interrogação | Início de query string |
| # | %23 | Cerquilha | Fragmento de URL |
| / | %2F | Barra | Separador de caminho |
| @ | %40 | Arroba | Usuário em URLs |
| á (a agudo) | %C3%A1 | A com acento agudo | Texto em português |
| ç | %C3%A7 | C cedilha | Texto em português/francês |
Casos de Uso Práticos
1. Query Strings em URLs:
Original: https://site.com/search?q=preço café&sort=mais novo
Codificado: https://site.com/search?q=pre%C3%A7o%20caf%C3%A9&sort=mais%20novo
Codificado: https://site.com/search?q=pre%C3%A7o%20caf%C3%A9&sort=mais%20novo
2. Parâmetros em APIs REST:
GET /api/products?category=eletrônicos&name=TV 4K Samsung
GET /api/products?category=eletr%C3%B4nicos&name=TV%204K%20Samsung
GET /api/products?category=eletr%C3%B4nicos&name=TV%204K%20Samsung
3. Arquivos com caracteres especiais:
/documents/relatório_final.pdf
/documents/relat%C3%B3rio_final.pdf
/documents/relat%C3%B3rio_final.pdf
4. E-mails em links "mailto":
mailto:joão@empresa.com?subject=Orçamento&body=Olá, gostaria de um orçamento.
mailto:jo%C3%A3o@empresa.com?subject=Or%C3%A7amento&body=Ol%C3%A1%2C%20gostaria%20de%20um%20or%C3%A7amento.
mailto:jo%C3%A3o@empresa.com?subject=Or%C3%A7amento&body=Ol%C3%A1%2C%20gostaria%20de%20um%20or%C3%A7amento.
Melhores Práticas
O que codificar sempre:
- Valores de parâmetros em query strings
- Texto com acentos ou caracteres não-ASCII
- Espaços em branco
- Caracteres reservados (&, ?, =, #, etc.) quando usados como dados
O que NÃO codificar:
- A estrutura da URL (http://, :, //)
- Delimitadores quando usados como delimitadores (?, &, = em query strings)
- O sinal de + para espaços (use %20 em vez de + para maior compatibilidade)
Dicas importantes:
- Use
encodeURIComponent()para valores,encodeURI()para URLs completas - Nunca use a função
escape()- ela é obsoleta e produz resultados diferentes - Decodifique apenas uma vez - decodificação múltipla pode causar erros
- Teste sempre com URLs complexas antes de usar em produção
- Considere usar
decodeURIComponent()para maior segurança ao decodificar
Problemas Comuns e Soluções
1. Codificação Dupla:
Problema: Espaço → %20 → %2520 (codificado duas vezes)
Solução: Verifique se o texto já está codificado antes de codificar novamente
Solução: Verifique se o texto já está codificado antes de codificar novamente
2. Decodificação Parcial:
Problema: Alguns caracteres ficam codificados, outros não
Solução: Use decodeURIComponent() para decodificar tudo de uma vez
Solução: Use decodeURIComponent() para decodificar tudo de uma vez
3. Caracteres Unicode:
Problema: Emojis e caracteres especiais não aparecem corretamente
Solução: Use UTF-8 encoding: 😊 → %F0%9F%98%8A
Solução: Use UTF-8 encoding: 😊 → %F0%9F%98%8A
4. URL Quebrada:
Problema: URL não funciona após codificação
Solução: Codifique apenas os valores, não a estrutura completa da URL
Solução: Codifique apenas os valores, não a estrutura completa da URL