O que é e para que serve
URLs só podem conter um conjunto limitado de caracteres — letras, números e alguns símbolos específicos. Espaços, acentos, e símbolos como "&" ou "?" usados fora do lugar certo precisam ser convertidos para o formato "percent-encoding" (como %20 para espaço) antes de entrar em uma URL, senão o link quebra ou se comporta de forma inesperada. Essa ferramenta codifica texto para esse formato e decodifica de volta.
Como usar
- Escolha o modo: codificar ou decodificar.
- Cole o texto ou trecho de URL na caixa.
- O resultado aparece automaticamente do lado oposto.
- Copie o resultado pronto para usar.
Exemplos práticos
Busca com espaço e acento. pão de queijo codificado vira p%C3%A3o%20de%20queijo, pronto para entrar num parâmetro de busca.
Link do WhatsApp com mensagem pronta. https://wa.me/5511999999999?text= seguido da mensagem codificada. Sem codificar, tudo depois do primeiro espaço ou & se perde.
E-mail em parâmetro. joao+news@empresa.com vira joao%2Bnews%40empresa.com. O + precisa virar %2B, porque em query string ele é interpretado como espaço.
URL dentro de URL. Ao passar um endereço de retorno como parâmetro, ele precisa ser codificado inteiro: ?retorno=https%3A%2F%2Fsite.com%2Fok.
Rastrear campanha com texto. Parâmetros UTM com espaço ou acento precisam ser codificados para não quebrar a análise.
Caracteres que mais aparecem
| Caractere | Codificado |
|---|---|
| espaço | %20 |
| & | %26 |
| ? | %3F |
| = | %3D |
| / | %2F |
| + | %2B |
| # | %23 |
| á | %C3%A1 |
Detalhes e limitações
A codificação usa a função encodeURIComponent do JavaScript, que converte cada caractere fora do conjunto seguro para sua representação percent-encoded em UTF-8 — por exemplo, espaço vira %20, "&" vira %26, e "ã" vira %C3%A3. Essa função é adequada para codificar um valor que vai dentro de um parâmetro de URL (depois de um "?" ou "&"); ela codifica também caracteres como "/" e "&", que têm significado especial na estrutura da URL — por isso não deve ser usada para codificar uma URL inteira de uma vez, apenas partes específicas dela, como o valor de um parâmetro de busca.
Erros comuns
Codificar a URL inteira. Se você codificar https://site.com/pagina por completo, as barras e os dois pontos viram %2F e %3A e o endereço deixa de funcionar. Codifique apenas o valor de cada parâmetro.
Esquecer de codificar o & dentro de um valor. Se o parâmetro contém &, ele é lido como separador e o resto vira outro parâmetro. É a causa mais comum de valor truncado.
Confundir + com espaço. Em query string, + historicamente representa espaço. Um e-mail com + no nome chega ao servidor com um espaço no lugar se não for codificado como %2B.
Codificar duas vezes. Um %20 codificado de novo vira %2520, e o destino recebe o texto literal "%20". Acontece muito quando duas camadas do código codificam o mesmo valor.
Achar que codificação protege contra injeção. Ela resolve transporte, não segurança. Validação e escape continuam necessários no servidor.
Usar o # sem codificar. Tudo depois dele é tratado como âncora e nem chega ao servidor.
Perguntas frequentes
Por que "&" e "?" precisam ser codificados?
Porque esses caracteres têm significado especial na estrutura de uma URL (separam parâmetros). Se aparecerem dentro do valor de um parâmetro sem codificação, a URL é interpretada incorretamente.
Essa ferramenta serve para codificar a URL inteira, com https:// incluso?
Não é recomendado — isso codificaria também as barras e os dois pontos que dão estrutura à URL. Use para codificar apenas o valor de um parâmetro específico.
Qual a diferença entre codificação de URL e Base64?
Codificação de URL torna um texto seguro para uso dentro de uma URL. Base64 é uma representação diferente, usada para transportar dados binários como texto, com outro propósito e outro conjunto de caracteres de saída.
Por que meu link quebra depois do espaço?
Porque espaço não é caractere válido em URL. Ele precisa virar %20 (ou + em query string). Sem isso, muitos sistemas cortam o endereço no primeiro espaço.
Devo codificar a URL inteira?
Não. Codificar tudo transforma as barras e os dois pontos em códigos e quebra o endereço. Codifique apenas o valor de cada parâmetro.
Por que o + do meu e-mail vira espaço?
Porque em query string o + representa espaço por convenção histórica. Para manter o sinal, ele precisa ser codificado como %2B.
Qual a diferença entre encodeURI e encodeURIComponent?
encodeURI preserva os caracteres que dão estrutura à URL, servindo para o endereço inteiro. encodeURIComponent codifica também esses caracteres, e é o correto para valores de parâmetro — é o que esta ferramenta usa.