Construindo valores de query string
Qualquer entrada de usuário que você coloque em ?q=... deve ser codificada com o modo Componente. O modo URI deixaria = e & intactos, quebrando sua URL quando o valor os contiver.
Codifique qualquer texto em uma string segura para URL com percent-encoding, ou decodifique uma URL codificada de volta para texto puro. Pré-visualização ao vivo, compatível com UTF-8 e executado inteiramente no seu navegador.
Componente (encodeURIComponent) escapa tudo que não seja um caractere não reservado — o mais seguro para valores de query string, segmentos de caminho ou qualquer campo isolado. URI (encodeURI) preserva os caracteres da estrutura da URL (:/?#=&) — use-o em uma URL inteira. Formulário (application/x-www-form-urlencoded) é o Componente + espaços viram '+' — o que os formulários HTML usam.
A RFC 3986 define um conjunto de caracteres "não reservados" que não precisam de codificação: A-Z a-z 0-9 - _. ~. Qualquer outro recebe percent-encoding. encodeURIComponent codifica adicionalmente :/?#&= que encodeURI deixa intacto. A diferença importa quando você está codificando um valor de query versus uma URL inteira.
Arraste um arquivo de texto aqui ou clique para procurar
Qualquer arquivo de texto UTF-8:.txt,.csv,.json,.url,.log
Rápido, preciso e somente no navegador — feito para desenvolvedores, redatores e qualquer pessoa depurando uma URL.
Escolha entre Componente, URI completa ou Formulário, dependendo do que está codificando — valores de query string, uma URL inteira ou um payload de formulário HTML.
Cada codificação e decodificação acontece no seu navegador usando JavaScript nativo. Seu texto e suas URLs nunca saem do seu dispositivo.
A saída é atualizada a cada tecla pressionada — sem botão "Codificar" para clicar, sem ida e volta ao servidor.
Emojis, caracteres CJK, latinos acentuados e cirílicos passam corretamente por encodeURIComponent e voltam intactos.
Ao decodificar, opcionalmente trate '+' como espaço — a convenção que formulários HTML usam em application/x-www-form-urlencoded.
Arraste um arquivo.txt,.csv ou.json para codificá-lo ou decodificá-lo em uma única etapa. A saída é baixada como um.txt limpo.
Três APIs nativas do navegador, três modos, todos rodando na página que você está lendo.
A cada tecla pressionada, a string de entrada é passada para uma pequena função JavaScript. Não há debounce, nem chamada de API, nem fetch — a função é executada de forma síncrona na sua aba do navegador.
Componente chama encodeURIComponent — escapa tudo que não seja A-Z a-z 0-9 - _. ~. URI chama encodeURI — preserva :/?#=& para que uma URL completa permaneça válida. Formulário usa encodeURIComponent e substitui espaço por + conforme application/x-www-form-urlencoded.
Tanto encodeURIComponent quanto encodeURI convertem internamente a string para bytes UTF-8 antes de aplicar percent-encoding em cada byte não seguro. Isso significa %E4%B8%AD para o caractere chinês 中 — exatamente o que a RFC 3986 exige.
O resultado é definido como o valor da saída somente leitura. Clique em Copiar para colocá-lo na área de transferência via navigator.clipboard.writeText, ou em Baixar para salvá-lo como um .txt via Blob URL — ambos permanecem no seu navegador.
Situações reais em que o modo de codificação correto evita bugs.
Qualquer entrada de usuário que você coloque em ?q=... deve ser codificada com o modo Componente. O modo URI deixaria = e & intactos, quebrando sua URL quando o valor os contiver.
Alguns aplicativos de chat e PDFs corrompem links que contêm espaços brutos ou caracteres não ASCII. Passe a URL pelo modo URI para torná-la segura para copiar e colar em qualquer lugar.
Quando sua API rejeita uma requisição, cole a URL no modo Decodificar para ver o que o servidor realmente recebeu. Valores codificados duas vezes (onde o próprio % foi codificado como %25) aparecem imediatamente.
Ao depurar corpos de POST em application/x-www-form-urlencoded, decodifique com a opção "+ como espaço" ativada. É a convenção que os navegadores usam, e esquecê-la é a causa nº 1 dos bugs de "por que meu nome de usuário aparece com sinais de mais".
URLs que você codifica frequentemente contêm e-mails reais de clientes, IDs ou tokens de sessão — exatamente o tipo de dado que você não quer colar na ferramenta de servidor de um estranho. O iKit URL Encoder é executado como JavaScript já carregado no seu navegador, então a entrada nunca sai da sua aba.
fetch, XHR ou beacon durante a codificação ou decodificação.
Tutoriais detalhados e comparações de ferramentas do blog do iKit.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
Componente (encodeURIComponent) escapa tudo que não seja um caractere não reservado — o mais seguro para valores de query string, segmentos de caminho ou qualquer campo isolado. URI (encodeURI) preserva os caracteres da estrutura da URL (:/?#=&) — use-o em uma URL inteira. Formulário (application/x-www-form-urlencoded) é o Componente + espaços viram '+' — o que os formulários HTML usam.
A RFC 3986 define um conjunto de caracteres "não reservados" que não precisam de codificação: A-Z a-z 0-9 - _. ~. Qualquer outro recebe percent-encoding. encodeURIComponent codifica adicionalmente :/?#&= que encodeURI deixa intacto. A diferença importa quando você está codificando um valor de query versus uma URL inteira.
Três causas comuns: (1) o original foi codificado como Formulário, então '+' deve ser tratado como espaço — ative essa opção. (2) Codificado em duplicidade — a entrada foi codificada duas vezes; decodifique novamente. (3) Sequência de percent inválida — um % solto não seguido por dois dígitos hexadecimais. Verifique a mensagem de erro para a posição exata do byte.
Sim para o modo Componente — chamamos encodeURIComponent diretamente. O modo Formulário adiciona os ajustes padrão de codificação de formulário (! ' * viram %21 %27 %28 %29 %2A) conforme RFC 3986 + WHATWG. O modo URI chama encodeURI, que é o que a maioria das linguagens entende por 'percent-encoding de uma URL'.
Não. A ferramenta inteira é JavaScript dentro desta página — codificação e decodificação acontecem no seu navegador. Você pode verificar abrindo DevTools → Network e observando: nenhuma requisição é enviada durante operações de codificação ou decodificação.