URL Encoder/Decoder

Codifique e decodifique URLs (percent-encoding) para uso seguro em aplicações web.

Sobre codificação de URL

A codificação de URL (também conhecida como codificação por cento ou URL encoding) é um mecanismo para converter caracteres especiais em um formato que pode ser transmitido pela Internet.

Por que codificar URLs?

  • URLs só podem conter caracteres ASCII e um conjunto limitado de caracteres especiais
  • Caracteres como espaços, acentos, &, ?, #, entre outros, precisam ser codificados
  • A codificação substitui caracteres não permitidos pelo símbolo % seguido pelo código hexadecimal ASCII daquele caractere

Exemplos comuns de codificação:

Caractere Codificação URL Descrição
espaço%20Espaço em branco
á%C3%A1Letra acentuada (UTF-8)
&%26Separador de parâmetros
?%3FInício da query string
#%23Âncora / fragmento
#

Escrito por Equipe iComLabs

Conteúdo revisado periodicamente para manter a precisão técnica.

URL Encode: O Que É e Como Codificar uma URL Corretamente

Fazer url encode é transformar caracteres que uma URL não aceita — espaço, acento, &, #, entre outros — numa sequência segura no formato %XX, para que o endereço chegue inteiro ao servidor sem ser cortado ou interpretado errado pelo caminho. Se você colou um link com espaço ou acento e ele parou de funcionar assim que outro parâmetro foi adicionado, provavelmente falta esse tratamento. A ferramenta no topo desta página resolve isso na hora: cole o texto, escolha codificar ou decodificar, e o resultado aparece pronto para usar.

Todo o processamento roda direto no navegador, em JavaScript puro, então nada do que você cola ali sai da sua máquina rumo a um servidor. Isso vale tanto para um parâmetro isolado quanto para uma URL inteira colada por engano.

Quem já sabe o que precisa pode usar a ferramenta agora e seguir em frente. Para quem quer entender o motivo de a URL quebrar sem essa codificação, a diferença entre encodeURIComponent e encodeURI, e por que isso não é criptografia, o conteúdo abaixo cobre cada um desses pontos com exemplo prático. A tabela resume os casos mais comuns antes de entrar nos detalhes.

Caractere Nome Código %XX
espaçoEspaço%20
&E comercial%26
#Hashtag / cerquilha%23
=Igual%3D
?Interrogação%3F
/Barra%2F

O Que É URL Encode e Para Que Serve?

URL encode — também chamado de percent-encoding, o nome técnico do padrão definido na RFC 3986 — é o mecanismo que converte um caractere não permitido ou com significado especial numa URL para uma sequência %XX, onde XX é o valor hexadecimal do byte daquele caractere. Serve para garantir que qualquer dado, mesmo contendo espaço, acento ou símbolo reservado, consiga viajar dentro de um endereço web sem quebrar a estrutura que o navegador e o servidor esperam ler.

Na prática, isso aparece o tempo todo: um campo de busca que aceita "café da manhã", um link compartilhado com espaço no nome do arquivo, um parâmetro que carrega um e-mail com @ e ponto. Sem codificar url antes de montar o link, cada um desses casos vira uma fonte silenciosa de bug — o link parece certo visualmente, mas falha assim que o servidor tenta interpretá-lo.

O Que Significam %20, %40 e %25 na Prática

%20 é o código de espaço, provavelmente o mais comum de todos — aparece em qualquer URL com mais de uma palavra num parâmetro. %40 representa o símbolo @ (arroba), usado quando um e-mail ou uma menção precisa entrar numa query string sem ser confundido com outra parte da sintaxe da URL.

%25 é o código do próprio caractere de porcentagem. Isso soa estranho à primeira vista, mas faz sentido: como o símbolo % já é o marcador que introduz um código de percent-encoding, ele mesmo precisa ser codificado quando aparece de forma literal — senão o parser da URL tenta ler os dois caracteres seguintes como se fossem parte de outro código, e o resultado sai corrompido.

Por Que a URL Quebra Sem Codificação?

Uma URL sem url encode quebra porque vários dos caracteres que ela usa como delimitadores têm significado estrutural fixo, e não decorativo. O símbolo ? marca onde a query string começa, o & separa um parâmetro do outro, o = separa a chave do valor dentro de cada parâmetro, e o # marca o início do fragmento — a parte do endereço que aponta para uma âncora dentro da página.

O problema aparece quando um desses caracteres está dentro do valor de um parâmetro, e não cumprindo o papel de delimitador. Se um usuário busca por "rock & roll" e esse texto vira parte da URL sem codificação, o parser lê o "&" como se fosse o início de um novo parâmetro, cortando a busca ao meio e embaralhando os dados que chegam ao servidor. Codificar url antes de montar o link evita justamente essa ambiguidade, porque o valor literal vira uma sequência segura que nenhum parser confunde com sintaxe.

encodeURIComponent vs encodeURI: Qual Usar?

URL encode em JavaScript tem duas funções nativas com propósitos diferentes, e escolher a errada é a causa mais comum de link quebrado mesmo depois de codificar. encodeURIComponent() codifica praticamente tudo que não é alfanumérico básico, incluindo os caracteres estruturais &, = e ?. encodeURI() faz o oposto: preserva esses mesmos caracteres estruturais, porque assume que o texto recebido já é uma URL completa, não um valor isolado.

A confusão entre as duas é o erro clássico de quem está começando a mexer com URLs em código. Usar encodeURI() num parâmetro que já contém "&" não codifica esse caractere, e a query string quebra do mesmo jeito que quebraria sem codificação nenhuma. Usar encodeURIComponent() na URL inteira, por outro lado, codifica até as barras e os dois-pontos do "://", destruindo a estrutura do link.

Quando Usar encodeURIComponent

Use encodeURIComponent() sempre que estiver codificando um valor isolado que vai entrar dentro de uma URL maior — um termo de busca, um e-mail, um nome de arquivo com espaço. Como a função codifica até os caracteres estruturais, ela garante que esse valor não vai ser confundido com parte da sintaxe da URL, não importa o que o usuário tenha digitado.

É o caso mais comum no dia a dia: montar um link de busca, montar um redirecionamento com uma URL de retorno como parâmetro, ou preparar um dado para enviar via query string. Nesses cenários, decodificar url do lado do servidor devolve o valor original exatamente como foi digitado, sem perder nenhum caractere pelo caminho.

Quando Usar encodeURI (URL Completa)

Use encodeURI() quando o texto que você está tratando já é uma URL inteira, com protocolo, domínio e caminho incluídos, e só precisa de ajustes pontuais — como um espaço ou um caractere acentuado dentro do caminho. A função deixa intactos os dois-pontos, as barras e os símbolos de query string, porque presume que eles já estão cumprindo o papel estrutural correto.

Um exemplo típico é normalizar uma URL colada de outro lugar, com espaço no meio do caminho, antes de usá-la num link de âncora. Nesse cenário, encodeURI() resolve o espaço sem tocar no restante da estrutura que já estava correta.

URL Encode Não É Criptografia: Fique Atento

URL encode não criptografa nem esconde nada — é só uma transformação de formato, totalmente reversível por qualquer pessoa, sem precisar de senha ou chave nenhuma. Um token, uma senha ou qualquer dado sensível que passa por essa codificação continua completamente legível, só que num formato diferente; qualquer ferramenta de decode, como a desta página, devolve o valor original em um clique.

Esse ponto confunde bastante gente que também já esbarrou em Base64 e em hash MD5 — dois formatos frequentemente tratados como se protegessem dado, quando na verdade cumprem outra função. O Base64 também não criptografa (é só outra forma de representar bytes como texto), e o MD5 gera um hash irreversível, mas não é uma proteção forte para senha. Se o objetivo é proteger algo sensível, essa codificação não é a ferramenta certa — a proteção real vem de HTTPS na conexão e de criptografia de verdade nos dados armazenados.

Como Fazer URL Encode e Decode Online

Fazer url encode online elimina o risco de errar a codificação manualmente, algo fácil de acontecer com caracteres acentuados ou símbolos menos comuns. A ferramenta desta página cobre os dois sentidos — codificar e decodificar — usando as funções nativas do navegador, sem depender de nenhum serviço externo.

O processo é o mesmo nos dois casos: colar o texto na caixa de entrada, escolher a aba correta e copiar o resultado pronto. Não é preciso instalar nada nem criar conta para usar, e o resultado fica disponível na hora, pronto para colar direto onde for necessário.

Como Codificar (Encode) uma URL

Para codificar url na ferramenta, selecione a aba "Codificar", cole o texto ou a URL que contém o caractere problemático e clique no botão de ação. O resultado aparece na caixa abaixo, pronto para copiar e usar diretamente num link, num parâmetro de busca ou num campo de formulário que vai gerar uma URL.

Por baixo dos panos, a ferramenta usa encodeURIComponent do JavaScript nativo, a mesma função explicada na seção anterior. Isso garante que o resultado seja compatível com qualquer navegador ou servidor que siga o padrão RFC 3986, sem surpresa entre ambientes diferentes.

Como Decodificar (Decode) uma URL

Para decodificar url, o caminho é o inverso: selecione a aba "Decodificar", cole a string cheia de códigos %XX e clique para converter. O resultado mostra o texto original, legível, sem nenhum resquício da codificação.

Esse processo é útil para conferir o conteúdo real de um link recebido, revisar um parâmetro antes de reutilizá-lo em outro sistema, ou simplesmente entender o que uma URL longa e cheia de símbolos está carregando. A ferramenta usa decodeURIComponent, o par exato de encodeURIComponent, garantindo que o valor volte fielmente ao que era antes de ser codificado.

Veja também

Além da ferramenta de codificação de URL desta página, o iComLabs reúne outros utilitários gratuitos para tratar texto e codificar dados. Todos processados direto no navegador, sem cadastro e sem enviar nada a servidor algum.

Se você trabalha com codificação ou lida com strings no dia a dia, vale conferir também os utilitários abaixo. Todos foram pensados para resolver tarefas parecidas de forma igualmente rápida, com o mesmo processamento local que evita enviar dado nenhum para fora do navegador.

Conclusão

Fazer url encode corretamente resume-se a três decisões: saber por que os caracteres estruturais da URL (&, =, ?, #) precisam ser tratados quando aparecem dentro de um valor, escolher entre encodeURIComponent e encodeURI conforme está codificando um componente isolado ou uma URL inteira, e lembrar que essa codificação não protege dado nenhum — é só formato, não segurança. Com esses três pontos claros, a maioria dos links quebrados por caractere especial deixa de acontecer.

A ferramenta no topo desta página cobre os dois sentidos do processo, codificar e decodificar, direto no navegador e sem enviar o conteúdo colado para nenhum servidor. Vale guardar esta página nos favoritos para a próxima vez que precisar codificar url ou decodificar url rapidamente, seja para montar um parâmetro de busca, seja para revisar um link que chegou cheio de códigos %XX.

Perguntas frequentes sobre URL Encode

%20 é o código de percent-encoding para o caractere de espaço. Aparece sempre que um parâmetro ou caminho da URL contém mais de uma palavra, já que o espaço em branco não é um caractere permitido dentro de uma URL sem essa codificação.

Não. URL encode é só uma transformação de formato, totalmente reversível por qualquer pessoa, sem senha nem chave. Um dado sensível codificado continua completamente legível — quem quiser protegê-lo de verdade precisa de HTTPS e criptografia real, não de percent-encoding.

Sim, e é justamente ali que ele é mais necessário. Cada valor de parâmetro na query string precisa passar por encodeURIComponent antes de entrar na URL, para que caracteres como &, = e ? dentro do valor não sejam confundidos com delimitadores da própria query string.

URL encode converte caracteres específicos em códigos %XX para uso dentro de uma URL. Base64 converte qualquer dado binário num alfabeto de 64 caracteres de texto. Nenhum dos dois é criptografia, mas servem a propósitos diferentes: um trata sintaxe de URL, o outro representa bytes como texto.

Sim, porque o percent-encoding segue o padrão RFC 3986, implementado de forma consistente pelas funções nativas encodeURIComponent e encodeURI em todos os navegadores modernos. O mesmo texto codificado num navegador decodifica corretamente em qualquer outro.

%40 representa o símbolo @ (arroba), comum em e-mails dentro de parâmetros. %25 representa o próprio caractere de porcentagem, que precisa ser codificado porque o símbolo % já é o marcador usado para introduzir outros códigos de url encode.