Um user agent switcher é uma ferramenta do navegador, geralmente uma extensão, que muda a string de user agent que o navegador envia aos sites, para que um site pense que você está usando outro navegador ou aparelho. Desenvolvedores usam para ver o conteúdo entregue a navegadores específicos e para conferir a detecção de dispositivos. Sozinho, porém, trocar o user agent não mostra um layout mobile: a viewport, o tamanho da tela e a densidade de pixels continuam iguais, então para testar no mobile você precisa de uma ferramenta que mude isso também.
O que é um user agent
Toda requisição do navegador inclui um cabeçalho User-Agent, uma string de texto que descreve o navegador, o motor e o sistema operacional. Um Chrome recente no Windows envia algo como:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<major version>.0.0.0 Safari/537.36
e o Chrome num celular Android envia algo como:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<major version>.0.0.0 Mobile Safari/537.36
A mistura estranha de nomes (“Mozilla”, “AppleWebKit”, “like Gecko”, “Safari”) é histórica: os navegadores copiaram as strings uns dos outros para que sites que detectavam um navegador específico não bloqueassem os demais. A palavra Mobile é o que muitos servidores verificam para decidir se mandam uma página mobile.
User-Agent reduzido e client hints
Chrome, Edge e outros navegadores Chromium agora enviam um user agent reduzido. A versão secundária é trocada por zeros, a versão do Android e o modelo do aparelho ficam congelados em valores genéricos (é o Android 10; K acima) e a versão do Windows é fixa. As informações detalhadas foram para os User-Agent Client Hints, cabeçalhos como:
Sec-CH-UA: marca e versão principal do navegadorSec-CH-UA-Mobile:?1no mobile,?0no desktopSec-CH-UA-Platform: o sistema operacional
Os servidores podem pedir mais hints (modelo, versão completa) se precisarem. O JavaScript lê as mesmas informações via navigator.userAgentData.
Isso importa para os switchers. Uma ferramenta que muda só o cabeçalho User-Agent e deixa os client hints dizendo “desktop” envia uma informação contraditória, e alguns sites vão perceber. Boas ferramentas mudam as duas coisas.
Para que serve um user agent switcher
- Conferir a detecção de dispositivos. Se o seu servidor, CDN ou um plugin do WordPress entrega outro HTML para celulares, trocar o user agent mostra essa versão.
- Reproduzir um relato de bug. Um visitante diz que o site quebra “no Samsung Internet”. Usar esse user agent pode revelar trechos de código baseados no user agent.
- Testar avisos de “navegador não suportado” e polyfills específicos de navegador.
- Ver o que os bots veem, como o user agent de um crawler, ao depurar SEO ou regras para bots.
O que um user agent switcher não consegue fazer
Trocar o user agent não muda:
- a largura da viewport, então suas media queries CSS não respondem
screen.width,devicePixelRationem o suporte a toque informados ao JavaScript- o motor de renderização: fingir ser o Safari não faz o Chrome renderizar como o WebKit
Por isso, uma janela do Chrome no desktop com user agent de iPhone muitas vezes mostra um híbrido estranho: o HTML mobile do servidor esticado num layout com largura de desktop. Para uma visualização mobile de verdade, é preciso emular viewport, densidade de pixels e user agent juntos. O modo dispositivo do Chrome DevTools faz isso, e uma extensão de visualização mobile como o Mobile View Extension também: ela aplica num passo só o user agent do aparelho, os client hints suportados, o tamanho de tela, a densidade de pixels e o perfil de toque. As abordagens são comparadas em extensão de simulador mobile ou DevTools.
Você precisa mesmo de uma extensão?
Para um teste pontual, não. O Chrome DevTools pode substituir o user agent da aba atual em Network conditions, e o modo dispositivo define isso automaticamente quando você escolhe um celular. Os passos estão em como mudar o user agent no Chrome.
Uma extensão vale a pena quando você troca com frequência, quer regras por site ou precisa que a configuração continue com o DevTools fechado.
Como escolher uma extensão de user agent switcher
User agent switchers veem e modificam cada requisição que você faz, então escolha como qualquer extensão com acesso amplo:
- Política de privacidade. Deve dizer claramente que não coleta dados de navegação. Evite switchers que injetam anúncios ou analytics.
- Client hints. Ela muda os cabeçalhos
Sec-CH-UA-*e onavigator.userAgentData, e não só a stringUser-Agent? - Regras por site ou por aba, para não esquecer um user agent falso ativo no site do seu banco.
- Presets atualizados. Presets antigos com strings do Chrome 60 ou do iOS 11 disparam avisos de “navegador desatualizado”.
- Atualizações recentes na Chrome Web Store.
Privacidade: um user agent aleatório protege você?
Extensões de “user agent aleatório” prometem dificultar o rastreamento. O efeito é limitado. Scripts de fingerprinting usam muitos sinais (tamanho de tela, fontes, fuso horário, GPU), e um user agent que não combina com o resto pode deixar seu navegador mais incomum, e não menos. Para privacidade, navegadores com proteção nativa contra fingerprinting funcionam melhor do que trocar strings.
Perguntas frequentes
O que um user agent switcher faz?
Ele muda as informações de navegador e aparelho que o seu navegador envia aos sites, para que eles tratem você como outro navegador ou aparelho.
Trocar o user agent mostra a versão mobile de um site?
Mostra o HTML que o servidor envia para aparelhos móveis, mas não o layout mobile, porque a largura da viewport continua a mesma. Use a emulação de dispositivos ou uma extensão de visualização mobile que também mude a viewport.
É seguro usar um user agent switcher?
A técnica é inofensiva; o risco está na extensão. Escolha uma com política de privacidade clara, permissões mínimas e atualizações recentes, e desative-a quando não precisar.