URL

Limpa

O que é o Limpador de URL?

Você compartilhou um link com amigos e ele veio com ?utm_source=newsletter&utm_campaign=spring_sale_2026&fbclid=IwAR0... grudado no final. Cole aqui e a ferramenta devolve a URL limpinha mais um detalhamento em JSON do que exatamente foi removido. A saída é JSON, então dá para colar direto numa linha de log, num fixture de teste ou em qualquer lugar onde você queira deixar registrado o que foi cortado.

A página existe porque o Google Analytics, Facebook, HubSpot, Mailchimp e mais uma dúzia de plataformas grudam coisas nas URLs que você não quer compartilhar nem armazenar. Os parâmetros utm_* vêm do Urchin Tracking Module — o Google adicionou em 2005 e hoje estão em todo lugar. fbclid é o identificador de clique do Facebook e gclid é o do Google. Nenhum afeta a página que carrega — só dizem ao destino por onde você passou.

Tudo roda no seu navegador usando a API padrão URLSearchParams, o mesmo parser que o WHATWG URL Standard define. Sem upload, sem servidor, sem logs. A limpeza é determinística — a lista de remoção está no código fonte, dá para ler, e a mesma entrada sempre produz a mesma saída.

Como usar o Limpador de URL

Três passos. Cada um corresponde a um botão da página.

1

Cole uma URL ou carregue o exemplo

Solte uma URL no painel esquerdo. Clique em Exemplo para carregar um caso realista com utm_*, fbclid e gclid misturados a parâmetros de query reais. URL de exemplo:

https://shop.example.com/orders/ORD-1001?customer=Ava+Chen&status=active&utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale_2026&fbclid=IwAR0abc123def456&gclid=Cj0KCQjwxyz

Tudo que new URL(...) aceita funciona — query strings com +, percent-encoding, chaves repetidas e fragmentos hash são todos tratados. Caminho, hash e quaisquer parâmetros que não sejam de rastreamento ficam preservados exatamente.

2

Leia a URL limpa e o que foi removido

O painel direito mostra JSON: cleaned é a URL sem rastreamento, removed é um objeto listando cada parâmetro removido (chave e valor), e removedCount é o total. Se a URL não tinha o que limpar, removed vem como objeto vazio e um campo note avisa. Atualiza enquanto você digita.

3

Copie ou baixe

Clique em Copiar para mandar o JSON para a área de transferência, ou em Baixar para salvar como arquivo .json. Minificar compacta o JSON em uma linha. Use Limpar no painel de entrada para começar de novo. Se você só quer a string da URL limpa, copie o valor do campo cleaned.

Quando você usaria isso de verdade

Limpar links antes de compartilhar

Você abriu uma aba a partir de um e-mail de marketing e quer mandar o link para um amigo no Slack. A URL tem ?utm_source=newsletter&utm_campaign=spring_sale_2026 grudado no final — seu amigo não precisa saber por onde você chegou, e o link fica feio. Cole, copie o valor de cleaned, envie. Combina bem com nosso Parser de URL caso você queira inspecionar os componentes antes.

Guardar URLs canônicas no banco

Você está indexando páginas para um serviço de favoritos ou um rastreador de preços. Duas visitas ao mesmo produto com utm_campaign diferentes não são duas páginas — é a mesma página. Tire os rastreadores antes de gravar a URL no banco, senão acaba com duplicatas. A spec RFC 3986 chama isso de normalização de URL.

Privacidade — não entregar seu referer ao destino

Quando você clica num link com fbclid, está dizendo ao site de destino que veio do Facebook e entregando um click ID que o Facebook consegue cruzar com sua conta. A documentação do Facebook descreve fbclid como identificador de clique para atribuição de anúncios. Tirar antes de visitar (ou antes de salvar o link) corta esse rastro.

Limpar tickets de suporte

"A página quebrou quando cliquei neste link" — e o link tem 600 caracteres porque carrega utm + gclid + todo parâmetro de rastreio que o HubSpot já lançou (__hssc, __hstc, _hsenc, hsa_*). Cola, copia a URL limpa, e cola ESSA no relatório de bug. Agora dá para ler o caminho de verdade.

Perguntas frequentes

O que exatamente ele remove?

Tudo que começa com utm_ (ou seja utm_source, utm_medium, utm_campaign, utm_term, utm_content, mais qualquer utm_* custom que um marketeiro adicione) — mais uma lista explícita de cerca de 50 parâmetros de rastreio conhecidos: fbclid (Facebook), gclid e dclid (Google Ads), mc_eid e mc_cid (Mailchimp), _ga e _gl (Google Analytics cross-domain), igshid (Instagram), yclid (Yandex), __hsfp/__hssc/__hstc/_hsenc e hsa_* (HubSpot), mtm_* e pk_*/piwik_* (Matomo), vero_id, wickedid, _branch_match_id, _openstat e mais alguns. Parâmetros de query reais que importam para a página (como customer=Ava+Chen) ficam intocados.

Ele mexe no caminho ou no hash?

Não. Só a query string é tocada. Protocolo, host, porta, caminho e fragmento hash passam exatamente. Então https://shop.example.com/orders/ORD-1001?utm_source=x#summary vira https://shop.example.com/orders/ORD-1001#summary — mesmo caminho, mesmo hash, sem query.

E se eu quiser manter utm_source para a minha própria análise?

Hoje a lista é fixa e está embutida na página. Se você precisa de uma whitelist ou blacklist customizada, faça um fork do código — o Set de parâmetros e a regex de utm_* ficam no topo do componente. Uma versão futura pode expor isso como opção, mas a maioria das pessoas que cai aqui quer o comportamento abrangente do default.

Por que fbclid é tão grande?

É um identificador opaco e assinado que o Facebook usa para atribuir o clique a um anúncio específico e (geralmente) a um usuário específico. O formato exato não é público, mas tem uma análise extensa no artigo de fbclid da Wikipedia. gclid é o equivalente para o Google Ads. Os dois podem ser removidos com segurança das URLs que você compartilha ou salva — nenhum é necessário para carregar a página.

Funciona com URLs sem parâmetros de rastreamento?

Sim. O JSON de saída tem removedCount: 0, um removed vazio e um campo note dizendo que nada foi encontrado. A cleaned será idêntica byte a byte à sua entrada (a menos do que new URL().toString() normaliza — por exemplo, adicionar uma barra final ao origin se faltava).

E com chaves repetidas, tipo ?utm_source=a&utm_source=b?

Os dois são removidos. URLSearchParams.delete(name) apaga toda entrada com aquele nome, então duplicatas não são problema. O objeto removed só vai mostrar um valor (o último parseado), mas na prática ninguém coloca utm_source duplicado numa URL real.

Outras ferramentas de URL

Limpar é só uma operação. O que combina naturalmente: