Ferramentas para Desenvolvedores

Codificar URL

Codifique texto em formato percentual para que fique seguro dentro de uma URL.

Avalie esta ferramenta

Como usar Codificar URL

  1. Digite ou cole seu texto.
  2. Copie o resultado codificado para URL.

Sobre Codificar URL

A codificação percentual é a forma como uma URL transporta caracteres que, de outro modo, a quebrariam ou mudariam seu significado. Cada byte não seguro é escrito como % seguido de dois dígitos hexadecimais — um espaço vira %20, um "e" comercial vira %26. Esta ferramenta aplica a codificação de componente: trata sua entrada como um único valor destinado a uma URL, não como uma URL completa em si.

Essa distinção importa mais do que parece. A codificação de componente também escapa os delimitadores reservados — &, =, ?, #, / e : são todos codificados — porque, dentro do valor de um parâmetro, esses caracteres jamais podem ser confundidos com estrutura. Por isso, cole aqui apenas um valor, não um endereço inteiro: uma URL completa voltaria com o :// e as barras escapados, o que não é o que você quer. Ficam intactos as letras, os dígitos e um punhado de marcas seguras: - _ . ! ~ * ' ( ). O texto não-ASCII é primeiro convertido em bytes UTF-8, de modo que uma única letra acentuada se torna dois escapes.

Uma armadilha clássica merece destaque: um espaço é codificado como %20, mas as strings de consulta historicamente também interpretam + como espaço, uma convenção herdada do envio de formulários HTML. As duas convivem lado a lado, e um decodificador que conhece apenas uma delas erra. Reverta o processo com o decodificador de URL, ou divida um endereço completo em suas partes com o analisador de URL. Tudo roda no seu navegador.

Perguntas frequentes

Posso colar uma URL inteira aqui?

Pode, mas o resultado não será uma URL funcional — o ://, as barras e o ? seriam todos escapados, porque isso codifica sua entrada como um único valor. Codifique apenas o valor do parâmetro que está inserindo, deixando o restante da estrutura da URL intacto.

Um espaço deve virar %20 ou +?

Esta ferramenta sempre produz %20, que é válido em qualquer lugar de uma URL. A convenção do + significa espaço apenas em strings de consulta e corpos codificados de formulário, e é uma convenção histórica separada. Se o seu consumidor espera +, substitua %20 depois — mas apenas na string de consulta.

Quais caracteres permanecem intactos?

Letras, dígitos e as marcas - _ . ! ~ * ' ( ). Todo o resto, incluindo os delimitadores reservados & = ? # / e :, é codificado em percentual. É isso que torna a saída segura para inserir no valor de um parâmetro.

Por que um caractere virou vários escapes %?

Porque a codificação percentual trabalha com bytes, não com caracteres, e o texto é primeiro codificado em UTF-8. Um caractere como é tem dois bytes, então vira %C3%A9. Emojis têm quatro bytes e viram quatro escapes.

O que acontece se eu codificar um texto que já está codificado?

Você obtém dupla codificação: o próprio % é um caractere que precisa ser escapado, então %20 vira %2520. Esse é um erro comum quando um valor passa por duas camadas que o codificam cada uma. Codifique exatamente uma vez.