Pular para o conteúdo
FoiFácil

Codificador e Decodificador de URL

Codifique texto para uso seguro em URLs (percent-encoding) e decodifique de volta.

Conteúdo revisado em

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

  1. Escolha o modo: codificar ou decodificar.
  2. Cole o texto ou trecho de URL na caixa.
  3. O resultado aparece automaticamente do lado oposto.
  4. 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.

Guias sobre este assunto

Ferramentas relacionadas