URL Encoder
Codifique e descodifique URLs.
O que é a codificação de URL?
A codificação de URL (também chamada percent-encoding) é o processo de converter caracteres especiais numa URL num formato seguro para transmissão HTTP. O standard RFC 3986 define que URLs só podem conter um conjunto restrito de caracteres ASCII — outros caracteres (incluindo espaços, acentos, e símbolos) têm de ser codificados como %XX, onde XX é o valor hexadecimal do byte UTF-8.
Por exemplo, um espaço torna-se %20, a letra ã torna-se %C3%A3, e o símbolo & (usado em query strings) torna-se %26. A descodificação faz o processo inverso, convertendo os códigos percent-encoding nos caracteres originais.
Quando usar URL Encoding
Parâmetros de query string
Ao passar valores em URLs (ex: ?nome=João Silva), os espaços e caracteres especiais devem ser codificados para evitar erros de parsing.
URLs com acentos
Domínios internacionalizados e paths com letras acentuadas (português, espanhol, alemão) precisam de codificação para garantir compatibilidade total.
Dados em formulários HTML
Conteúdo de campos de formulário submetido via GET é automaticamente codificado pelo browser, mas a codificação manual é necessária em chamadas de API.
APIs e chamadas HTTP
Ao construir URLs de API programaticamente, use sempre encodeURIComponent() (JavaScript) ou urllib.parse.quote() (Python) para codificar valores de parâmetros.
Diferença entre encodeURI e encodeURIComponent
Em JavaScript existem duas funções principais para codificação de URLs, com propósitos distintos:
encodeURI()— codifica uma URL completa, preservando caracteres estruturais como:,/,?,#e&. Use para codificar URLs inteiras.encodeURIComponent()— codifica também os caracteres estruturais. Use para codificar valores individuais de parâmetros. Esta ferramenta usa encodeURIComponent.
Referência: caracteres especiais e as suas codificações
A RFC 3986 define dois grupos de caracteres em URLs: caracteres reservados (que têm função estrutural e precisam de codificação quando usados como valores de dados) e caracteres não-reservados (letras A-Z, a-z, dígitos 0-9, hífen, ponto, underscore e til — nunca precisam de codificação). Qualquer outro caracter, incluindo letras acentuadas do português, deve ser codificado.
Os caracteres portugueses mais comuns codificam-se em UTF-8 como sequências de dois bytes: ã → %C3%A3, ç → %C3%A7, é → %C3%A9, ó → %C3%B3, â → %C3%A2. Cada byte UTF-8 é representado por dois dígitos hexadecimais precedidos do símbolo %.
Espaço
%20
& (ampersand)
%26
? (interrogação)
%3F
# (cardinal)
%23
= (igual)
%3D
+ (mais)
%2B
ã
%C3%A3
ç
%C3%A7
é
%C3%A9
Perguntas frequentes sobre URL Encoding
Qual a diferença entre %20 e + nas URLs?
Ambos representam um espaço, mas em contextos diferentes. %20 é o padrão RFC 3986 para qualquer parte da URL. O + como espaço é específico do formato application/x-www-form-urlencoded (formulários HTML). Na prática, use %20 para maior compatibilidade.
Por que razão os URLs com acentos portugueses por vezes não funcionam?
Quando um URL contém letras acentuadas não codificadas (ã, ç, é, etc.), alguns servidores, browsers ou sistemas intermediários podem interpretá-las incorretamente. A codificação garante que o URL funciona em qualquer sistema.
A codificação URL é reversível?
Sim, a codificação percent-encoding é totalmente reversível. Use a função de descodificação desta ferramenta para recuperar o texto original a partir de um URL codificado.
O que é um URL 'canonicalizado'?
A canonicalização de URLs é o processo de normalizar URLs equivalentes numa forma padrão (encoding consistente, lowercase, remoção de parâmetros redundantes). É importante para SEO, pois evita conteúdo duplicado.
