Codificador de URL Online

Codifica caracteres especiais em URLs

Experimente um exemplo

Texto Simples / URL

Codificado

Roda localmente · Seguro para colar segredos
Saída codificada...
Modo:

O que é Codificação de URL?

A codificação de URL (também chamada de codificação percentual) é um mecanismo para codificar informações em um Identificador de Recursos Uniforme (URI) de forma que apenas os caracteres permitidos pelo RFC 3986 apareçam na string final. Qualquer caractere que não seja um caractere não reservado (A–Z, a–z, 0–9, -, _, ., ~) é substituído por um sinal de percentual seguido de dois dígitos hexadecimais representando o valor do byte UTF-8 do caractere — por exemplo, um espaço se torna %20 e & se torna %26.

A codificação percentual é necessária porque as URLs só podem conter um conjunto limitado de caracteres ASCII. Quando uma URL inclui caracteres fora desse conjunto — espaços, letras Unicode, símbolos como &, = ou / usados como valores literais em vez de delimitadores estruturais — esses caracteres devem ser codificados para evitar que o parser de URL os interprete incorretamente. Isso é especialmente crítico para valores de query string, onde & ou = não codificados quebrariam a estrutura de parâmetros.

Por que usar esta ferramenta?

Veja instantaneamente como seu texto é codificado em ambos os modos, com uma comparação ao vivo lado a lado — sem necessidade de escrever código para verificar casos extremos.

Pré-visualização em tempo real
A saída é atualizada enquanto você digita. Experimente diferentes entradas e veja instantaneamente quais caracteres são codificados e quais são preservados.
🔀
Dois modos
Alterne entre encodeURIComponent (para valores) e encodeURI (para URLs completas) sem sair da página.
🔒
Apenas no cliente
Toda a codificação é executada localmente no seu navegador. Parâmetros de query sensíveis e tokens nunca chegam a um servidor.
📋
Copiar com um clique
Copie a saída codificada para a área de transferência com um único botão. Pronto para colar diretamente no seu código, terminal ou barra de endereços do navegador.

Como usar este codificador de URL online

Sem conta, sem instalação. Cole ou digite seu texto no campo de entrada e o resultado codificado em percentual aparece instantaneamente. Tudo roda no seu navegador — seus dados nunca saem do seu dispositivo.

  1. 1
    Cole seu texto ou URL
    Insira qualquer string — o valor de um parâmetro de consulta, uma URL completa, um segmento de caminho ou um payload JSON. O codificador processa caractere por caractere de acordo com o RFC 3986.
  2. 2
    Escolha o modo de codificação
    Selecione encodeURIComponent para codificar valores de parâmetros individuais (codifica tudo exceto caracteres não reservados). Selecione encodeURI para codificar uma URL completa preservando seus caracteres estruturais como ://?#&=.
  3. 3
    Copie a saída codificada
    A string codificada em percentual aparece instantaneamente. Clique em Copiar para pegar o resultado e colá-lo diretamente na sua chamada de API, ação de formulário ou arquivo de configuração.
  4. 4
    Decodifique se necessário
    Cometeu um erro ou quer verificar o resultado? Alterne para a ferramenta Decodificador de URL com um clique para reverter a codificação.

Quais caracteres são codificados?

O RFC 3986 divide os caracteres de URL em duas categorias: caracteres não reservados (nunca codificados) e caracteres reservados (têm significado especial — codificados ou preservados dependendo do contexto). A tabela mostra como as duas funções JavaScript tratam os caracteres principais:

Car.Significado na URLencodeURIComponentencodeURI
Spaceword separator%20%20
+plus sign%2B%2B
/path separator%2F/ (kept)
?query start%3F? (kept)
#fragment%23# (kept)
&param separator%26& (kept)
=param value%3D= (kept)
@auth separator%40@ (kept)
:scheme / port%3A: (kept)
%percent literal%25%25
~unreserved~ (kept)~ (kept)
-_.~unreserved setkept as-iskept as-is

encodeURIComponent vs encodeURI

O JavaScript fornece duas funções de codificação com comportamentos muito diferentes. Escolher a errada é um dos bugs mais comuns no tratamento de URLs:

encodeURIComponent()
Codifica tudo exceto o conjunto de caracteres não reservados (A–Z a–z 0–9 - _ . ~). Esta é a escolha certa para codificar valores individuais de parâmetros de query, segmentos de caminho ou qualquer valor que será incorporado dentro de uma URL. Ela codificará /, ?, # e & e todos os outros caracteres reservados.
encodeURI()
Preserva toda a estrutura da URL deixando os caracteres reservados (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) sem codificação. Use apenas quando tiver uma URL completa com estrutura que deseja preservar, e só precisar codificar os caracteres não ASCII ou ilegais dentro dela.

Casos de uso comuns

Parâmetros de query string
Codifique os valores dos parâmetros antes de anexá-los a uma URL: name=John%20Doe em vez de name=John Doe. Espaços e caracteres especiais não codificados quebrarão parsers de URL e produzirão resultados inesperados.
Construção de requisições API
As APIs REST requerem parâmetros de query corretamente codificados. Codificar valores com encodeURIComponent evita a injeção de parâmetros extras por meio de caracteres como & e = incorporados nos valores.
Envio de dados de formulário
Os formulários HTML enviam dados como application/x-www-form-urlencoded por padrão. Entender a codificação percentual ajuda a depurar o que o navegador envia e o que o servidor recebe.
Segmentos de caminho com caracteres especiais
Nomes de arquivo ou identificadores que contêm espaços, barras ou caracteres unicode devem ser codificados percentualmente quando usados como segmentos de caminho de URL: /files/my%20document.pdf.
OAuth e tokens de autenticação
O OAuth 1.0a e alguns protocolos de autenticação exigem que a string base seja construída a partir de nomes e valores de parâmetros codificados percentualmente seguindo um algoritmo de normalização estrito.
Deep links e URLs para compartilhar
Ao gerar URLs compartilháveis que incorporam conteúdo do usuário (consultas de pesquisa, estado de filtros, coordenadas), codifique todos os valores dinâmicos para evitar links quebrados e XSS por manipulação de URL.

Exemplos de código

Como codificar strings de URL em linguagens e ambientes populares:

JavaScript (browser / Node.js)
// Encode a query parameter value (most common case)
encodeURIComponent('hello world & more') // → "hello%20world%20%26%20more"

// Encode a complete URL (preserves ://?#& structure)
encodeURI('https://example.com/path?q=hello world') // → "https://example.com/path?q=hello%20world"

// Build a query string safely
const params = new URLSearchParams({ q: 'hello world', lang: 'en' })
const url = `https://example.com/search?${params}` // uses + for spaces
Python
from urllib.parse import quote, urlencode, quote_plus

# Encode a path segment or query value
quote('hello world & more')          # → 'hello%20world%20%26%20more'

# Encode for application/x-www-form-urlencoded (space → +)
quote_plus('hello world')            # → 'hello+world'

# Build a query string
urlencode({'q': 'hello world', 'lang': 'en'})  # → 'q=hello+world&lang=en'
Node.js (URL API)
const url = new URL('https://example.com/search')
url.searchParams.set('q', 'hello world & more')
url.searchParams.set('lang', 'en')
console.log(url.toString())
// → https://example.com/search?q=hello+world+%26+more&lang=en
CLI (curl / bash)
# curl automatically percent-encodes --data fields
curl -G "https://example.com/search" --data-urlencode "q=hello world & more"

# Manual encoding with Python one-liner
python3 -c "from urllib.parse import quote; print(quote('hello world'))"

Codificador de URL vs. alternativas

Várias ferramentas podem codificar texto em percentual, mas diferem em controle, privacidade e contexto.

Esta ferramenta
Baseada em navegador, instantânea e privada. Suporta os modos encodeURIComponent e encodeURI. Nenhum dado enviado a qualquer servidor. Lida com entrada Unicode completa.
Barra de endereços do navegador
Os navegadores codificam URLs automaticamente ao colá-las, mas apenas parcialmente — preservam muitos caracteres especiais por legibilidade. Não é adequado para codificar valores de parâmetros.
URLSearchParams / urllib
A abordagem programática correta para construir URLs em JavaScript ou Python. Use esta ferramenta para codificações rápidas ou para verificar o que seu código produzirá.

Perguntas frequentes

Qual é a diferença entre %20 e + para espaços?
Ambos representam um espaço, mas em contextos diferentes. %20 é a representação padrão de um espaço codificado percentualmente e é válida em qualquer lugar de uma URL. O sinal + representa um espaço apenas no formato application/x-www-form-urlencoded (envios de formulários HTML). Em um caminho de URL ou valor de query bruto, + é um sinal de adição literal, não um espaço. Use %20 para máxima compatibilidade.
Quando devo usar encodeURIComponent vs encodeURI?
Use encodeURIComponent para valores individuais (parâmetros de query, segmentos de caminho, fragmentos hash). Use encodeURI apenas quando tiver uma URL completa e quiser preservar sua estrutura. Um erro comum é usar encodeURI em um valor de query — ele deixará & e = sem codificar, quebrando a query string.
A codificação de URL lida com caracteres Unicode?
Sim. Caracteres não ASCII são primeiro convertidos para sua representação de bytes UTF-8, depois cada byte é codificado percentualmente. Por exemplo, o símbolo do euro (U+20AC) codifica para %E2%82%AC — seus três bytes UTF-8. Tanto encodeURIComponent quanto encodeURI lidam com isso corretamente em todos os navegadores modernos.
A dupla codificação é um problema?
Sim. Se você codificar uma string já codificada, %20 se torna %2520 (o % em si é codificado como %25). Sempre codifique valores brutos, não os já codificados. Em caso de dúvida, decodifique primeiro e depois recodifique.
Quais caracteres são sempre seguros em URLs?
Os caracteres não reservados definidos pelo RFC 3986 são sempre seguros e nunca precisam de codificação: maiúsculas A–Z, minúsculas a–z, dígitos 0–9, hífen (-), sublinhado (_), ponto (.) e til (~). Todo o resto deve ser codificado percentualmente quando usado como valor em vez de como delimitador estrutural.
Por que algumas URLs contêm hex maiúsculo (%2F) e outras minúsculo (%2f)?
Ambos são válidos. O RFC 3986 especifica que as sequências codificadas percentualmente são insensíveis a maiúsculas e minúsculas, portanto %2F e %2f são equivalentes. No entanto, o mesmo RFC recomenda usar dígitos hexadecimais maiúsculos para consistência. A maioria dos navegadores e bibliotecas produz maiúsculas.
Esta ferramenta codifica a URL completa ou apenas os parâmetros?
Ambos. Use o modo encodeURIComponent para codificar valores de parâmetros de consulta individuais (o caso de uso mais comum). Use o modo encodeURI para codificar uma URL completa preservando seus caracteres estruturais como ://, ?, # e &.
Há um limite de comprimento para a codificação?
Sem limite no lado do servidor — a ferramenta roda inteiramente no seu navegador. Os limites práticos dependem da memória do seu navegador. Para entradas muito grandes ou processamento em lote, use encodeURIComponent em um script.