Codificador de URL Online Gratuito — Codifique Qualquer String em Percent-Encoding
Chega de horas debugando URLs malformadas em requisições de API. Este codificador de URL converte seu texto ou URL para percent-encoding seguro em milissegundos — diretamente no navegador, sem enviar nenhum dado para servidor algum.
Cole qualquer coisa — uma URL completa, o valor de um parâmetro de query string, um segmento de caminho ou uma string bruta — e o resultado codificado aparece imediatamente. Escolha se deseja preservar os caracteres reservados como /, ? e &, ou codificar tudo com a semântica do encodeURIComponent para máxima segurança em parâmetros de query string.
Como Usar o Codificador de URL
Três passos, prontos em segundos:
- Cole sua URL ou texto no campo de entrada — a saída percent-encoded aparece imediatamente, com cada caractere especial substituído pelo seu equivalente hexadecimal
%XX. O contador de caracteres se atualiza em tempo real enquanto você digita ou cola o conteúdo. - Selecione as opções de codificação — ative "Codificar caracteres reservados" para usar o modo estrito
encodeURIComponent(recomendado para valores de parâmetros), ou desative para preservar a estrutura da URL. Ative "Espaço como +" para compatibilidade comapplication/x-www-form-urlencodedem formulários HTML. - Copie o resultado — o output percent-encoded aparece imediatamente abaixo. Clique em Copiar ou pressione Shift + Enter para enviar a string codificada para a área de transferência.
Precisa fazer o processo inverso? Clique em Trocar e Decodificar para enviar o resultado diretamente para o Decodificador de URL.
O Que É Codificação de URL e Por Que Ela Importa
Codificação de URL — formalmente chamada de percent-encoding — é o mecanismo definido no RFC 3986 para representar caracteres que são inseguros ou têm significado reservado dentro de uma URL. Cada caractere inseguro é substituído por um sinal de percentual (%) seguido do seu código hexadecimal UTF-8 de dois dígitos. Um espaço vira %20, um e-comercial vira %26 e uma cerquilha vira %23.
Por que isso importa: URLs só podem ser transmitidas de forma confiável pela internet usando um conjunto limitado de caracteres ASCII. Caracteres fora desse conjunto seguro — incluindo letras Unicode, pontuação e caracteres de controle — precisam ser codificados antes de aparecer em uma URL. Ignorar esse passo faz servidores interpretarem mal as query strings, roteiros quebrarem e chamadas de API falharem silenciosamente.
Exemplos de Codificação de URL
Pares reais de entrada/saída para consulta ao construir ou debugar URLs:
| Entrada | Saída Codificada |
|---|---|
hello world |
hello%20world |
user@example.com |
user%40example.com |
price: €100 |
price%3A%20%E2%82%AC100 |
name=João&city=São Paulo |
name%3DJo%C3%A3o%26city%3DS%C3%A3o%20Paulo |
https://exemplo.com/busca?q=teste |
https%3A%2F%2Fexemplo.com%2Fbusca%3Fq%3Dteste |
café |
caf%C3%A9 |
🚀 |
%F0%9F%9A%80 |
| `` (string vazia) | `` (saída vazia) |
Todos os exemplos acima usam o modo encodeURIComponent (caracteres reservados codificados). Se você alternar para o modo "Preservar caracteres reservados", a URL completa do exemplo mantém seus /, ? e = intactos.
Opções de Codificação Explicadas
Codificar caracteres reservados (recomendado para parâmetros de query string): Usa o encodeURIComponent do JavaScript, que codifica tudo exceto A–Z a–z 0–9 - _ . ~. Este é o modo correto ao codificar um valor único que vai aparecer dentro de uma query string. Caracteres como /, ?, #, & e = são codificados.
Preservar caracteres reservados (para URLs completas): Ignora a codificação de caracteres que têm significado estrutural em uma URL (/ ? # [ ] @ ! $ & ' ( ) * + , ; =). Use quando estiver codificando uma URL inteira e quiser manter a estrutura intacta.
Espaço como + (plus): Substitui %20 por +. Obrigatório ao enviar dados de formulários HTML com Content-Type: application/x-www-form-urlencoded. Não adequado para segmentos de caminho de URL.
Erros Comuns na Codificação de URL
Saber o que evitar poupa horas de debug:
- Codificar a URL inteira em vez de apenas os valores dos parâmetros. Se você codificar
https://api.exemplo.com/busca?q=hellocomo um todo comencodeURIComponent, cada/,?e=será codificado — o resultado não é uma URL válida, é apenas uma string. Codifique apenas os valores dinâmicos dentro da query string. - Confundir
encodeURI()comencodeURIComponent().encodeURIé seguro para uma URL completa e preserva caracteres estruturais como/e?.encodeURIComponenté seguro para um valor de componente único e codifica esses caracteres estruturais também. UsarencodeURIem um valor de parâmetro deixará&,=e+não codificados, fazendo o servidor interpretar mal a query string. - Codificar duas vezes uma string já codificada. Se você codificar uma string que já contém
%20, o próprio%será codificado como%25, transformando%20em%2520. Sempre parta da string bruta, não codificada. Se a fonte já estiver codificada, decodifique primeiro com o Decodificador de URL. - Usar
+para espaços em segmentos de caminho. A convenção+-para-espaço vem doapplication/x-www-form-urlencodede só é válida dentro de query strings. Um+em um segmento de caminho é tratado como um sinal de mais literal, não como espaço. Sempre use%20para espaços fora de query strings. - Não codificar caracteres não-ASCII. Letras acentuadas, caracteres CJK e emoji precisam ser codificados em UTF-8 antes do percent-encoding. Esta ferramenta sempre aplica codificação UTF-8, portanto
écorretamente vira%C3%A9.
Casos de Uso Comuns
- Parâmetros de query string: Ao construir uma URL como
https://api.exemplo.com/busca?q=hello world&lang=pt, o valorhello worldprecisa ser codificado comohello%20world. Omitir esse passo quebra a requisição na maioria dos servidores. - Passando URLs como valores de parâmetros: Se uma URL de redirecionamento aparece dentro de outra URL — ex.:
?redirect=https://exemplo.com/pagina?foo=bar— a URL interna precisa ser completamente codificada, caso contrário o parser externo divide na?e=não codificadas. - Codificação de dados de formulários: Aplicações que fazem POST com
application/x-www-form-urlencoded(o padrão de formulários HTML) exigem espaços como+e caracteres especiais percent-encoded. - Assinaturas de autenticação de API: Muitos algoritmos de assinatura de API (AWS Signature V4, OAuth 1.0a) exigem percent-encoding específico dos parâmetros de query antes de computar o HMAC. Uma codificação errada produz assinaturas inválidas que rejeitam todas as requisições.
Perguntas Frequentes
Qual é a diferença entre encodeURI e encodeURIComponent?
encodeURI é projetado para URLs completas — preserva todos os caracteres com significado estrutural em uma URL, incluindo /, ?, #, & e =. Use-o quando quiser manter a estrutura da URL intacta. encodeURIComponent é projetado para um valor de componente único (como um parâmetro de query string) e codifica esses caracteres estruturais também. Se estiver codificando um valor de parâmetro que vai aparecer dentro de uma query string, sempre use encodeURIComponent — ou a opção "Codificar caracteres reservados" desta ferramenta.
Por que o espaço vira %20 em alguns contextos e + em outros?
Ambos representam um espaço, mas em especificações diferentes. %20 é o percent-encoding definido no RFC 3986 e é válido em qualquer parte de uma URL. O + para espaços vem do formato mais antigo application/x-www-form-urlencoded usado por formulários HTML. A maioria dos frameworks modernos aceita ambos em query strings, mas se estiver codificando um segmento de caminho, sempre use %20. Ative "Espaço como +" nesta ferramenta ao trabalhar com envios de formulários.
Devo codificar a URL inteira ou apenas os parâmetros de query string?
Codifique apenas os valores dos parâmetros, não toda a estrutura da URL. Codificar a URL inteira — incluindo o scheme (https://), domínio e caminho — vai quebrá-la, transformando / em %2F e : em %3A. A abordagem correta é construir a URL base primeiro (https://api.exemplo.com/busca?q=) e então acrescentar encodeURIComponent(valor) para cada valor dinâmico de parâmetro. O modo "Preservar caracteres reservados" desta ferramenta foi projetado para codificar uma URL completa mantendo sua estrutura intacta.
Qual é a diferença entre %20 e + para espaços em URLs?
%20 é o percent-encoding padrão do RFC 3986 para espaço e é válido em qualquer parte de uma URL — segmentos de caminho, query strings e identificadores de fragmento. O sinal + para espaços faz parte do tipo de mídia application/x-www-form-urlencoded e só é válido dentro de query strings. Em caso de dúvida, use %20 — funciona em todo lugar.
Como codificar uma URL que já contém sinais de percentual?
Se sua entrada já tem caracteres % que fazem parte de sequências percent-encoded reais, codificá-la novamente vai duplo-codificá-las — %20 vira %2520. Para evitar isso, decodifique a URL primeiro usando o Decodificador de URL e depois recodifique-a de forma limpa.
Esta ferramenta é segura para dados sensíveis como senhas ou chaves de API?
Sim. Esta ferramenta processa tudo localmente no seu navegador usando JavaScript. Nenhum texto é transmitido para qualquer servidor e nada é armazenado. Você pode verificar isso abrindo o inspetor de rede do seu navegador enquanto usa a ferramenta — você verá zero requisições de saída.
A codificação de URL funciona para caracteres não-latinos como árabe, chinês ou emoji?
Totalmente suportado. Esta ferramenta usa codificação UTF-8 para todos os caracteres não-ASCII, que é o padrão exigido pelo RFC 3986. Um caractere chinês como 中 vira %E4%B8%AD — três bytes percent-encoded representando sua sequência UTF-8. Emoji funcionam da mesma forma: 🚀 codifica para %F0%9F%9A%80.
Recursos
- RFC 3986 — Uniform Resource Identifier (URI): Generic Syntax — A especificação oficial que define as regras de percent-encoding e a sintaxe de URI usada por esta ferramenta.
- MDN Web Docs — encodeURIComponent() — Referência para a função JavaScript subjacente a esta ferramenta, com exemplos de quando usá-la versus
encodeURI.