Codificação e escape

Codificador de URLpara cada contexto de uso

para cada contexto de uso

Codificador de URL

Entrada

Resultado

A conversão acontece neste navegador; a entrada não é enviada.

Opções de conversão

Como encodeURIComponent: escapa delimitadores dentro de um valor. Ao decodificar, + continua sendo um sinal de mais.

Cada decodificação processa uma camada. Sequências percentuais, bytes UTF-8 inválidos e substitutos UTF-16 isolados causam erro. Não analisa consultas nem faz reparos automáticos.

Entrada: 1.048.576 unidades UTF-16; saída: 4.194.304; prévia: 20.000. Colar pode normalizar as quebras de linha.

Digite um texto ou carregue um exemplo. A conversão manual aceita entrada vazia e gera saída vazia.

Após a confirmação, o resultado atualizado substitui a entrada e a direção se inverte. Indisponível quando o resultado ultrapassa o limite de entrada.

O Codificador de URL ajuda quando um termo de busca contém & ou um endereço de retorno precisa caber em um parâmetro. A escolha do modo mantém esses caracteres no papel certo.

O decodificador de URL torna legíveis valores copiados de logs. A codificação de URL usa bytes UTF-8 em percent-encoding; por isso, uma letra acentuada gera várias sequências.

Por que usar este Codificador de URL?

Separar dados de delimitadores

O Codificador de URL transforma & em %26 no modo Componente. No modo URI completa, preserva os delimitadores de um endereço já montado.

Componente, endereço completo e valor de formulário seguem regras diferentes.

Encontrar uma sequência quebrada

Um % incompleto ou uma sequência UTF-8 inválida interrompe a conversão. A mensagem indica a posição na entrada para você corrigir a origem.

Uma sequência percentual inválida fica marcada no texto de origem.

Confira o contexto e cada camada

01

Escolha o destino do valor

Use Componente para buscas e endereços dentro de um parâmetro. URI completa mantém barras, interrogações e outros delimitadores.

02

Controle a atualização

O modo automático espera 350 ms após uma alteração. Desative-o para mostrar Converter, ou use Ctrl/Cmd+Enter. Mudar a entrada ou uma opção deixa o resultado anterior desatualizado e bloqueia copiar e baixar até a próxima conversão bem-sucedida.

03

Confira antes de substituir

Exemplo, Limpar e Inverter mostram uma prévia antes de Aplicar. Desfazer restaura entrada, opções e resultado juntos. Inverter usa o resultado atual como entrada e muda a direção; não executa uma segunda decodificação. A prévia mostra até 20.000 unidades UTF-16.

Conversão com regras explícitas

Componentes

encodeURIComponent protege caracteres estruturais usados como parte de um valor.

URI completa

Preserva os delimitadores. Ao decodificar, os escapes reservados mantêm a grafia original.

Valor de formulário

Aplica a convenção de espaço e + a um valor, sem montar pares de chave e valor.

Verificação UTF-8

Sequências inválidas e substitutos UTF-16 isolados geram erro com posição na origem.

Limites da interpretação

Componente ou URI completa
Componente segue encodeURIComponent e preserva letras ASCII, números, - _ . ! ~ *, apóstrofo e parênteses. URI também mantém delimitadores reservados. Na decodificação URI, %2f permanece com essa grafia; Componente o transforma em /. O resultado não é aberto nem validado como endereço.
Uma camada sem normalização
Codificar %20 novamente produz %2520. Uma decodificação volta a %20; outra camada exige uma nova operação deliberada. Não há normalização Unicode. O editor pode uniformizar quebras de linha ao colar.
Um valor de formulário
Os sinais & e = são dados, sem divisão em campos. Espaço vira + e um sinal de mais literal vira %2B. Apenas letras ASCII, números e * - . _ ficam intactos na codificação. Ao contrário de URLSearchParams, este decodificador rejeita sequências percentuais ou UTF-8 inválidas.
Somente bytes UTF-8 válidos
Na decodificação: Cada % exige dois dígitos hexadecimais. Sequências excessivamente longas, truncadas ou que representem substitutos são rejeitadas. A posição aponta para o primeiro % da sequência incorreta. GBK, Windows-1252 e a forma antiga %uXXXX não são aceitos.
Verificação adicional da entrada
Substitutos UTF-16 isolados são rejeitados nos dois sentidos. É uma regra extra: decodeURI e decodeURIComponent nativos podem preservar substitutos brutos. Um par válido, como o de um emoji, é aceito. Não há conversão de domínio para Punycode.
Limites sem saída parcial
A entrada aceita até 1.048.576 unidades UTF-16 e a saída até 4.194.304. Ultrapassar o limite faz a conversão inteira falhar. A prévia mostra até 20.000 unidades; copiar e baixar TXT usam o resultado completo atualizado. A conversão manual aceita vazio; Limpar volta ao estado inicial.

Perguntas sobre o Codificador de URL

Por que %20 aparece no lugar do espaço?

20 é o valor hexadecimal do byte do espaço. No modo Formulário, essa mesma posição é representada por +.

Preciso codificar a URL inteira?

Para montar parâmetros, codifique cada valor no modo Componente. Use URI completa somente quando os delimitadores já fizerem parte do endereço.

Por que o sinal de mais virou espaço na decodificação?

Essa é a regra do modo Formulário. Nos modos Componente e URI completa, um + bruto continua sendo um sinal de mais.

Qual é a diferença entre encodeURI e encodeURIComponent?

encodeURI preserva a estrutura do endereço. encodeURIComponent também escapa seus delimitadores, adequado para dados colocados dentro de um parâmetro.

Por que a URL continua ilegível depois de uma decodificação?

Pode haver outra camada, como %2520 que vira %20. O Codificador de URL decodifica uma vez; examine a saída antes de repetir.

Encontrou um caso inesperado?

Comece por um valor curto

Use o Codificador de URL para conferir o texto convertido antes de incluí-lo em um parâmetro ou formulário.