← Todos os artigos

User agent switcher: o que faz e quando você precisa de um

O que um user agent switcher muda, por que sozinho ele não dá uma visualização mobile, onde entram os client hints e como escolher uma extensão segura.

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 navegador
  • Sec-CH-UA-Mobile: ?1 no mobile, ?0 no desktop
  • Sec-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, devicePixelRatio nem 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:

  1. Política de privacidade. Deve dizer claramente que não coleta dados de navegação. Evite switchers que injetam anúncios ou analytics.
  2. Client hints. Ela muda os cabeçalhos Sec-CH-UA-* e o navigator.userAgentData, e não só a string User-Agent?
  3. Regras por site ou por aba, para não esquecer um user agent falso ativo no site do seu banco.
  4. Presets atualizados. Presets antigos com strings do Chrome 60 ou do iOS 11 disparam avisos de “navegador desatualizado”.
  5. 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.

Veja seu próximo site na versão mobile.

Adicione a extensão e abra prévias de aparelhos na mesma aba em que você já está trabalhando.