Codificador de URL

Uma URL completa e um valor de consulta têm limites diferentes.

Codifique para o lugar que o texto vai ocupar

Uma URL completa e um valor de consulta têm limites diferentes.

Etapa 1

Escolha o modo

Componente para um valor, URI inteira para preservar a estrutura ou formulário para espaços como +.

Etapa 2

Informe o original

Cole texto não codificado e confira os bytes UTF-8. Nenhum endereço é aberto.

Etapa 3

Use o resultado

Copie ou baixe TXT. O link da ferramenta nunca contém sua entrada.

Usos práticos

Montar uma busca

Para pesquisar A&B + café, codifique só o valor em componente: A%26B%20%2B%20caf%C3%A9. Insira após q= num exemplo como https://example.test/search?q=, deixando a estrutura fora da conversão.

URI inteira mantém o e comercial estrutural. Não deduz que um símbolo numa consulta bruta já montada deveria ser dado. Defina a fronteira antes de codificar, não depois da resposta inesperada.

Conferir um formulário

Ao depurar formulário, compare A+B C em componente e valor de formulário: A%2BB%20C e A%2BB+C. Ambos protegem o sinal + original, mas representam o espaço de forma diferente.

O protocolo receptor importa, não a menor saída. Um decodificador de formulário lê + como espaço; um de componente mantém. A ferramenta não monta nomes, parâmetros repetidos ou corpo completo.

Texto internacional

Confira café antes de enviar a um receptor UTF-8. A entrada ocupa cinco bytes; caf%C3%A9 ocupa nove ASCII e duas sequências.

Os números descrevem representação, não palavras ou complexidade visual. Uma letra acentuada pré-composta e outra com marca combinante podem parecer iguais e ter bytes diferentes. A página não normaliza nem escolhe representação para pedido assinado.

Saudação do ClockTools codificada como componente de URI
O modo de componente de URI codifica a vírgula da saudação como %2C. A saída é um valor para incluir em uma URL; nenhum site é acessado.

Escolha o modo pela fronteira do receptor

Componente URI serve para um valor de consulta ou segmento pretendido de caminho. Protege &, =, /, ? e # de papéis estruturais ao inserir. URI inteira supõe que os delimitadores já formam a estrutura desejada. Nenhum modo identifica dados pretendidos numa cadeia ambígua.

folder/name vira folder%2Fname em componente e fica folder/name em URI inteira. Isso distingue valor com barra de separador mantido. O receptor pode impor outras regras de caminho; codificar não garante aceitação desse identificador.

JavaScript mantém pontuação que uma convenção estrita RFC 3986 poderia escapar. É uma diferença de compatibilidade, não um quarto modo. Se uma API exige escapes ou canonicalização, use seu serializador, não uma saída apenas plausível como prova de conformidade. Definições ECMAScript e distinção histórica dos caracteres.

Separar dados da estrutura

  1. A&BValor original
  2. A%26BValor codificado
  3. ?q=A%26BValor inserido na consulta
Exemplo fixo: o & pertence ao valor, não à estrutura da consulta.

De caracteres a bytes em um endereço

Uma sequência percentual representa um byte com % e dois dígitos hexadecimais. café vira caf%C3%A9 porque é ocupa dois bytes UTF-8. Isso não é criptografia.

Barra, & e # podem delimitar a estrutura. Codifique o valor antes de inseri-lo; codificar toda a URL como componente também esconde seus separadores.

URI inteira usa encodeURI e preserva delimitadores reservados. Não valida domínio, bloqueia esquemas perigosos nem produz uma forma canônica estrita do RFC. Categorias de caracteres do RFC 3986.

Por que formulários usam +

Espaços viram + e um sinal de mais literal vira %2B. Formulário também codifica !, apóstrofos, parênteses e ~ que o modo componente do JavaScript preserva.

Aqui se processa um único valor. a=b&c=d não é montado como dois campos independentes. Para coleções completas com nomes repetidos, use um serializador estruturado.

Codificar %2F novamente gera %252F. Pode ser necessário em valores aninhados, mas também indicar uma camada acidental. Combine uma camada por limite com o receptor. Serialização de formulários WHATWG.

Compare saídas antes de juntá-las à URL

A tabela mantém a entrada e troca o modo. O sinal + faz parte dos dados e vira %2B nos modos de valor. Espaço vira %20 em componente e + em formulário. Til e exclamação mostram que mudar modo não é apenas outra escrita dos espaços.

Bytes de entrada usam UTF-8. Bytes e pontos de código de saída contam a cadeia resultante com %, dígitos hexadecimais e pontuação. Cada %HH representa um byte na fronteira, mas três caracteres de saída. Não são contados grafemas nem verificados limites do servidor.

Carregar exemplo insere demonstração, não visita endereço. Texto e modo recalculam sem rede ou envio adicional. Guarde o original antes de limpar ou abrir o decodificador: o link correspondente não transfere a entrada.

Entradas fixas: dados e estrutura conforme o modo
EntradaModoResultado codificado
A&BComponente URIA%26B
A+B CComponente URIA%2BB%20C
A+B CValor de formulárioA%2BB+C
folder/nameComponente URIfolder%2Fname
folder/nameURI inteirafolder/name
~!Componente URI~!
~!Valor de formulário%7E%21

Exemplos literais, não corpos completos. Fronteiras e regras do receptor precisam ser definidas.

Corrija erros sem alterar a camada errada

Se %2F vira %252F, um sinal de porcentagem já presente foi codificado. URI inteira também codifica sinais de porcentagem literais; não é opção de preservar tudo já escapado. Volte ao original, salvo quando uma camada externa contém intencionalmente um valor codificado. Não reescreva uma URL assinada testando decodificar e recodificar.

Um erro Unicode pode indicar surrogate Unicode isolado. A página rejeita em vez de substituir silenciosamente. Obtenha texto original válido; remoção ou troca arbitrária muda identificadores. Um receptor de codificação antiga precisa de outro conversor, não desta ferramenta UTF-8.

Copiar e TXT exportam exatamente o resultado. Se falhar a área de transferência, selecione e copie manualmente; se falhar download, copie. O link leva só a página, sem entrada, consulta ou fragmento. Conversão local não protege histórico da área nem arquivos; codificação não é verificação de segurança.

Método e limites

Conversão local com uma única passagem de encodeURIComponent, encodeURI ou do conjunto de escape de formulários. Contadores medem bytes UTF-8 e pontos de código Unicode, não grafemas.

Codificar não criptografa, não higieniza e não valida URLs. Substitutos Unicode isolados são rejeitados. Não se montam formulários completos nem se oferece um modo RFC estrito.

Guarde o original e relate modo e exemplo fictício. Nunca envie tokens ou URLs privadas assinadas. Confira as regras do receptor antes de alterar links de produção.

Método e limites · Política de correções

Perguntas frequentes

Qual modo usar para um valor de consulta?

Componente URI, exceto quando o protocolo exigir explicitamente codificação de formulário.

Codificar é criptografar?

Não. O texto pode ser recuperado sem segredo.

Por que %2F virou %252F?

O sinal % foi codificado outra vez.

Por que URI inteira mantém o e comercial?

Supõe que delimitadores reservados são estrutura. Não sabe que um símbolo no valor bruto deveria ser dado. Codifique o valor separadamente em componente ou formulário exigido e monte a estrutura com serializador adequado.

Posso codificar um formulário completo aqui?

Só como um valor, geralmente não como pretendido. a=b&c=d não é separado em campos. Um serializador completo codifica nomes e valores à parte e junta com = e &. Nomes repetidos e campos vazios também exigem tratamento estruturado.

Por que ~ e ! mudam em formulário?

Seu conjunto de codificação os escapa, diferente do componente JavaScript. * continua sem escape. Escolha pelo receptor, não pela aparência. Não existe modo RFC estrito adicional para resolver automaticamente exigências de outra API.

Posso encurtar removendo sequências?

Não às cegas. Um delimitador restaurado vira estrutura no lugar errado; um caractere multibyte precisa de todos os bytes UTF-8. Confira se o limite conta bytes, texto decodificado ou pedido inteiro. Esta página não conhece esse contrato.

O link inclui meu texto convertido?

Não. Copia endereço sem entrada, resultado, consulta ou fragmento atuais. Transferir texto exige copiar ou baixar deliberadamente. O link ao decodificador também não leva dados; guarde o original antes de navegar.