Codificador URL

Processado neste navegador

Limite de texto: 2000000 caracteres

Esta ferramenta não envia sua entrada.

A busca `q=São Paulo` ou `Tom & Jerry` devolve 400. Esta aba aplica encodeURI, encodeURIComponent ou o decode. Caminho amigável de post é o slugify.

A API de busca recebe q=São Paulo & oferta e parte o parâmetro no &. O trabalho é percent-encode nesta aba, com os dois modos que o JavaScript já tem — e o decode.

encodeURI existe para uma URI completa: acento e espaço viram %C3%A3 e %20, mas a estrutura (/ ? & =) fica. encodeURIComponent existe para um valor: o & do “Tom & Jerry” vira %26 e o servidor junta o texto de novo. Usar o modo errado é o 400 clássico.

O erro de “São Paulo” e o erro do &

# valor de query — use component
q=São Paulo  →  S%C3%A3o%20Paulo

# valor com e comercial
q=Tom & Jerry  →  Tom%20%26%20Jerry

# URL já válida com espaço no meio — use uri
https://loja.exemplo/busca?q=olá mundo

Se você passar a URL inteira no modo component, https: vira https%3A e o navegador não navega. Se passar só o valor no modo uri, o & interno inventa um segundo parâmetro.

+ no lugar de espaço é convenção de formulário, não de component. O decode daqui troca + por espaço antes de decodeURIComponent. Duplo encode (%253A) pede uma segunda passada, não um “fuso”.

O que não é esta página

  • Encurtador, bit.ly, UTM mágico.
  • Slugify para caminho de post.
  • Meta tags de SEO.
  • Registro de domínio.
  1. Cole o trecho ou a URL, conforme o modo.
  2. Component, URI ou decode.
  3. Revise %26 e %20 no resultado antes de colar no código.

Nada é enviado. Isto não é parecer de SEO.

Perguntas frequentes

Quando uso component e quando uso URI?

Component (padrão aqui) é para um pedaço: valor de q, segmento, nome de arquivo na query. Ele transforma & em %26 e ? em %3F. URI é para a URL já montada: preserva / ? : @ & = #. Codificar a URL inteira em component quebra o link.

Por que o espaço virou %20 e não +?

encodeURIComponent usa %20. Formulário antigo (application/x-www-form-urlencoded) e URLSearchParams costumam usar +. O decode desta aba trata + como espaço. Confira o que o backend espera.

Quero `sao-paulo-guia` no caminho, sem %C3%A3.

Slugify tira acento e espaço. Encode é para não corromper a query. São jobs diferentes.

O HTML precisa de `&` no atributo.

Entidades HTML. Percent-encoding não é escape de markup.

O JWT na query ficou ilegível.

Encode o token se o & do meio quebrar a URL. Para ler claims: JWT — sem verificar assinatura.

O WhatsApp cortou o link no `?`.

Alguns apps quebram query. Teste o link. QR do endereço: gerador de QR (estático; não é Pix).

Ferramentas relacionadas