100 % local — seus dados nunca saem do seu navegador

Codificar URL — um valor que chega inteiro

Codifique texto para uma URL: o espaço vira %20 e cada caractere reservado é escapado, então o valor chega ao servidor como você escreveu.

Instantâneo Privado Zero cookies

Entrada Text

Saída URL-encoded

O que esta ferramenta faz

O texto vira bytes UTF-8, e todo byte fora do conjunto não reservado é escrito com um sinal de porcentagem seguido de dois dígitos hexadecimais. Saem intactos as letras, os dígitos e - . _ ~.

Todo o resto é escapado, inclusive os caracteres que estruturam uma URL:

a b        →  a%20b
a+b&c=d    →  a%2Bb%26c%3Dd
café       →  caf%C3%A9
😀         →  %F0%9F%98%80

Porcentagem, não formulário

Esta é a distinção que vale levar, porque ela corrompe dados em silêncio nos dois sentidos.

A codificação por porcentagem é a de um caminho de URL e de uma query string moderna. Ali o espaço é %20. Um sinal de mais é um mais literal, e ele próprio é escapado para %2B quando aparece num valor.

A codificação de formulário — application/x-www-form-urlencoded, o que um formulário HTML envia — escreve o espaço como +. É a convenção mais antiga, e continua em toda parte.

Esta ferramenta aplica a primeira regra, igual ao que encodeURIComponent e decodeURIComponent fazem no navegador.

A consequência ao decodificar

Uma string vinda de um formulário, ou de uma query string escrita nesse estilo, manterá aqui os sinais de mais em vez de devolvê-los a espaços. a+b decodifica para a+b.

Isso é correto para a porcentagem e errado em relação ao que você provavelmente queria. Se a entrada veio de um formulário, troque + por %20 antes de decodificar, ou use um decodificador de formulário.

Um sinal de porcentagem solto, sem dois dígitos hexadecimais depois, vira erro em vez de palpite: 100% não dá para decodificar, e fingir o contrário inventaria um byte.

Ela codifica um valor, não uma URL

Dê a ela uma URL inteira e ela escapará também o :// e os separadores, o que não é o objetivo. Codifique cada valor separadamente e monte a URL em volta.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Por que meu espaço virou %20 e não um sinal de mais?
Porque são duas regras diferentes. A codificação por porcentagem, usada num caminho de URL e numa query string moderna, escreve o espaço como `%20`. O sinal de mais pertence à codificação de formulário, que é o que um formulário HTML envia.
Meu texto decodificado continua com sinais de mais. É um bug?
Não, mas é o ponto a vigiar. Esta ferramenta segue a codificação por porcentagem, onde `+` é um mais literal. Se a entrada veio de um formulário ou de uma query string antiga, ali o mais significa espaço: troque `+` por `%20` antes de decodificar.
Por que minha barra e meu e comercial foram escapados?
Porque a ferramenta codifica um **valor**, não uma URL inteira. Uma barra dentro de um valor pareceria um separador de caminho, e um e comercial o início do próximo parâmetro. Escapá-los é o que mantém o valor inteiro.

Conversores relacionados