URL Encoder, Decoder e Parser Online
Codifique, decodifique e analise URLs completas no navegador. Separa protocolo, host, porta, caminho, query string e fragmento. Usa APIs nativas, processamento 100% local, sem fetch externo.

Como cada caractere fica codificado na URL
Deslize a tabela para o lado: são 5 colunas.
| Caractere | Bytes | No parâmetro | Na URL inteira | Por quê |
|---|---|---|---|---|
| espaço | 1 | %20 | %20 | não existe em URL; em formulário vira + |
ç | 2 | %C3%A7 | %C3%A7 | letra fora do ASCII, vai byte a byte |
ã | 2 | %C3%A3 | %C3%A3 | letra fora do ASCII, vai byte a byte |
€ | 3 | %E2%82%AC | %E2%82%AC | símbolo de 3 bytes em UTF-8 |
& | 1 | %26 | & | separa um parâmetro do outro |
= | 1 | %3D | = | separa o nome do valor |
? | 1 | %3F | ? | abre a query string |
# | 1 | %23 | # | abre o fragmento, que não vai ao servidor |
/ | 1 | %2F | / | separa as pastas do caminho |
+ | 1 | %2B | + | em formulário quer dizer espaço |
% | 1 | %25 | %25 | é o próprio sinal de código |
@ | 1 | %40 | @ | separa usuário e servidor no endereço |
~ | 1 | ~ | ~ | não reservado: pode ir como está |
No parâmetro: encodeURIComponent, que é o que esta ferramenta usa. Na URL inteira: encodeURI, que preserva os separadores. Fonte: IETF RFC 3986, seção 2, e a documentação das duas funções no MDN.
Em resumo
Codificar para URL troca cada caractere que não pode viajar num endereço por um sinal de porcentagem seguido do código hexadecimal de cada byte em UTF-8. O espaço vira %20. O ç ocupa 2 bytes e vira %C3%A7, então "ação", com 4 letras, sai como a%C3%A7%C3%A3o, com 14 caracteres.
A página usa o encodeURIComponent, a função certa para o valor de um parâmetro: ela codifica também & = ? # e /, que dentro do valor quebrariam o endereço. Para a URL inteira existe o encodeURI, que preserva esses separadores, e a tabela acima mostra a diferença caractere por caractere. Na decodificação, um % sem dois dígitos hexadecimais depois é apontado como erro, e o + continua +, porque trocar + por espaço é regra de formulário. O campo aceita até 5.000 caracteres, e o endereço não é visitado. Base: RFC 3986, de janeiro de 2005.
Outras ferramentas de dados e formatos
- Formatador de JSONFormate, valide e minifique JSON sem que um número grande mude de valor nem uma chave repetida desapareça. O erro vem com a linha e a coluna. Tudo no seu navegador.
- Conversor de dadosConverta CSV, JSON, YAML e XML sem perder dado: CPF com zero na frente e número grande continuam inteiros, e toda transformação é avisada. Tudo no seu navegador.
- CSV para JSONCole o CSV e receba o JSON no navegador, com o delimitador reconhecido sozinho, com ou sem cabeçalho, prévia em tabela e download local. CPF com zero à frente e número grande continuam intactos.
- Codificador Base64Codifique texto para Base64 ou decodifique Base64 para texto diretamente no navegador. Suporte completo a UTF-8, emojis e caracteres acentuados. Processamento 100% local.
- Conversor de timestamp UnixConverta Timestamp Unix para data/hora legível ou vice-versa. Suporte a segundos e milissegundos. Exibe ISO 8601, UTC, data e hora local. Processamento 100% local no navegador.
- Conversor binário, decimal e hexadecimalConverta números entre decimal, binário, hexadecimal e octal instantaneamente. Informe o valor e a base de origem e veja todas as representações em paralelo. Processamento 100% local.
Todas as ferramentas, por tarefa, estão em ferramentas de tecnologia online.
Gostou? Mostre pra todo mundo
Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.
Cole o texto para codificar para URL (espaço vira %20, ç vira %C3%A7) ou cole um endereço codificado para decodificar e ler de volta. A ferramenta também separa a URL em protocolo, domínio, caminho, parâmetros e fragmento. Nada é acessado nem enviado: a conversão acontece no navegador.
Como a codificação de URL funciona
Uma URL só pode carregar um conjunto pequeno de caracteres. Todo o resto, incluindo acento, espaço e os símbolos que têm função dentro do endereço, é trocado por um sinal de porcentagem seguido do código hexadecimal de cada byte em UTF-8. É o que a RFC 3986 chama de percent-encoding. Letra acentuada vira dois bytes, e por isso dois códigos. A tabela logo abaixo da ferramenta mostra os caracteres mais comuns, com o resultado do encodeURIComponent e do encodeURI lado a lado.
O erro mais comum é codificar a URL inteira em vez de só o valor do parâmetro: aí a barra e o ponto de interrogação também viram código e o endereço para de funcionar. Codifique apenas o pedaço que vem depois do sinal de igual. O mesmo cuidado vale ao montar o link do WhatsApp com mensagem pronta, que o gerador de link do WhatsApp já faz sozinho, e ao transformar um endereço em QR Code.
Codificar para URL e codificar em Base64 são coisas diferentes. O percent-encoding mantém letras e números como estão e só troca o resto; o Base64 reescreve tudo num alfabeto de 64 símbolos. Quando o valor precisa carregar bytes que não são texto, o caminho costuma ser o codificador Base64URL.
Base: IETF RFC 3986 e WHATWG URL Standard, com as funções nativas do navegador.
Limitações
- Não visita o endereço: a ferramenta não diz se o link existe nem para onde ele redireciona.
- Texto com % solto (sem dois dígitos hexadecimais depois) não pode ser decodificado e é apontado como erro.
- O decodificador não troca + por espaço, porque essa regra é de formulário. Se o texto veio de um formulário, troque os + por espaço antes, ou use o modo Analisar URL, que lê os parâmetros do jeito do formulário.
- O campo aceita até 5.000 caracteres.
Coloque esta ferramenta no seu site, de graça
Tem site, blog ou loja virtual? Esta ferramenta tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e ela roda no navegador de quem visita o seu site.
Codificar e decodificar URL para sitever todas as ferramentas para site
Calculadoras relacionadas
Guias sobre este tema
Como identificar phishing
O que é phishing, como ler um endereço de link antes de clicar, os sinais que aparecem em mensagem de banco, cobrança e QR Code falsos, e o que fazer nas primeiras horas depois de ter caído.
Link do WhatsApp
Como montar o link que abre a conversa no WhatsApp sem salvar o contato, com a mensagem já escrita. O formato certo do número, os erros que quebram o link, e como colocar o botão no site e no WordPress.
QR Code: como funciona
Entenda como um QR Code armazena informação, os usos para URL, texto, Wi-Fi, e-mail, telefone e vCard, a diferença entre QR estático e dinâmico, e os cuidados de segurança contra phishing.
Formatador de código
Entenda o que faz um formatador de código, a diferença entre formatar, validar e minificar, quando usar em SQL, XML, YAML, HTML, CSS e JavaScript, e os cuidados ao colar código sensível em ferramentas online.
Conversão auditável, com o fator de conversão à vista
Atualizado em . Fontes: WHATWG URL Standard / RFC 3986 / MDN Web Docs.
Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.
Referências técnicas
- WHATWG URL StandardTécnica
- RFC 3986 - URITécnica
- MDN - URL APITécnica
- MDN - encodeURIComponentTécnica
- MDN - decodeURIComponentTécnica
Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.
Incorpore esta calculadora no seu site (grátis)
Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.
Perguntas frequentes
O que é URL encoding (percent encoding)?
URL encoding, ou percent-encoding, é a troca de cada caractere que não pode viajar num endereço por um sinal de porcentagem seguido do código hexadecimal de cada byte em UTF-8. O espaço vira %20, o ç vira %C3%A7 e o sinal de mais vira %2B. A regra está na seção 2 da RFC 3986, a norma de sintaxe de URI. Sem essa troca, um acento ou um & dentro de um valor quebra o endereço ou muda o que o servidor entende.
Qual a diferença entre encodeURI e encodeURIComponent?
O encodeURI codifica uma URL inteira e preserva os separadores dela, como /, ?, &, = e #. O encodeURIComponent codifica um pedaço isolado, como o valor de um parâmetro, e troca também esses separadores. Dos 13 caracteres da tabela desta página, 7 passam intactos pelo encodeURI e viram código no encodeURIComponent. Esta ferramenta usa o encodeURIComponent, que é o certo para montar o valor de um parâmetro.
O que é query string?
Query string é a parte da URL depois do ponto de interrogação, com pares nome=valor separados por &. Em https://exemplo.com/busca?q=café&page=2, a query string é q=café&page=2, com o parâmetro q valendo café e o parâmetro page valendo 2. No modo Analisar URL, esta página separa cada par numa linha própria e mostra o valor já decodificado, o que ajuda a achar o parâmetro de rastreamento ou o valor errado num link comprido.
A URL inserida é acessada ou consultada?
Não. A ferramenta só lê o texto da URL com a API nativa do navegador (new URL()). Nenhuma requisição de rede é feita, nenhum DNS é consultado e nenhum site é visitado, então dá para colar endereço interno, de homologação ou com parâmetro privado. A contrapartida é que a página também não sabe se o link existe, se ele redireciona para outro lugar ou se o servidor vai aceitar o que está escrito.
O que é o fragmento (hash) de uma URL?
O fragmento é o trecho depois do #, e aponta para uma parte da página, como um título ou uma seção. Em https://exemplo.com/artigo#conclusao, o fragmento é conclusao. O navegador não envia o fragmento ao servidor: ele fica do lado de quem abriu o link. Por isso um # dentro do valor de um parâmetro precisa ser codificado como %23; sem isso, tudo o que vier depois dele some da requisição e vira fragmento.
Como codificar uma URL (URL encode)?
Escolha Codificar, cole o texto e clique em Codificar URL. Codifique só o valor do parâmetro, e não o endereço inteiro: se você codificar https://, as barras e os dois-pontos também viram código e o link para de funcionar. Exemplo: para buscar São Paulo, o valor vira S%C3%A3o%20Paulo, e o link fica ?cidade=S%C3%A3o%20Paulo. O campo aceita até 5.000 caracteres, e o texto não sai do navegador.
Por que o espaço vira %20 em um lugar e + em outro?
Porque são duas regras. Na URL, pela RFC 3986, o espaço vira %20. Em formulário HTML enviado no formato application/x-www-form-urlencoded, o espaço vira +, e por isso o + de verdade precisa virar %2B. O encodeURIComponent, usado aqui, segue a primeira regra. Na volta, o decodificador desta página não troca + por espaço, mas o modo Analisar URL troca, porque lê os parâmetros como o navegador lê um formulário.
O que significa %20, %2F e outros códigos na URL?
Cada código é um byte escrito em hexadecimal depois do sinal de porcentagem: %20 é o espaço, %2F é a barra, %3F é o ponto de interrogação e %26 é o &. Letra acentuada ocupa 2 bytes em UTF-8, então aparece como dois códigos seguidos: %C3%A7 é o ç. Para ler um endereço cheio desses códigos, cole-o no modo Decodificar: "ação" escrito como a%C3%A7%C3%A3o volta a ser lido como ação.
Por que aparece ç no lugar de ç depois de decodificar?
Porque os bytes em UTF-8 foram lidos como se fossem Latin-1. O ç ocupa 2 bytes (%C3%A7); lidos um a um no padrão antigo, eles viram à e §. O defeito está em quem montou ou leu a URL com a tabela de caracteres errada, e não no código em si. Esta página decodifica sempre em UTF-8, que é o que a RFC 3986 recomenda para texto novo, então o mesmo endereço aqui mostra ç.
Quais caracteres o encodeURIComponent não codifica?
Letras de A a Z e de a a z, algarismos de 0 a 9 e os sinais - _ . ! ~ * ' ( ). Todo o resto vira código. Quatro desses sinais (- _ . ~) são os não reservados da RFC 3986 e podem ir como estão. Os outros cinco, ! ' ( ) e *, estão entre os reservados da norma, que um esquema de URI pode usar como separador; quem precisa segui-la à risca troca esses cinco por %21, %27, %28, %29 e %2A depois do encodeURIComponent.
O que mostra o quadro Partes da URL?
É o resultado do modo Analisar URL. Protocolo é o esquema, como https ou http; Host é o domínio; Porta aparece como (padrão) quando o endereço não traz número ou traz o número padrão do protocolo, que é 443 no https e 80 no http; Caminho é o trecho entre o domínio e o ponto de interrogação; Query string é o que vem depois dele; Hash / âncora é o fragmento. Abaixo vêm os Parâmetros da query string, um por linha, com o valor já decodificado. Endereço sem protocolo é lido como https.
O que quer dizer o erro Texto não é uma URL válida codificada?
Quer dizer que o texto tem um % que não forma um código válido em UTF-8. Acontece com % solto, sem dois dígitos hexadecimais depois (como 50%), com código cortado no meio (%C3 sem o segundo byte) e com endereço gerado por sistema antigo em Latin-1, em que o é aparece como %E9. Nesse último caso, troque %E9 por %C3%A9, que é o é em UTF-8, ou peça ao sistema de origem que gere o link em UTF-8.