Utilia

Analisador de user agent

Analisa qualquer string de user agent para veres o navegador, o motor, o sistema operativo, o dispositivo e o CPU. Análise em lote com exportação CSV.

Como analisar uma string de user agent

  1. Cola uma string de user agent na caixa. Quando a página abre, a caixa já contém o user agent do navegador que estás a usar.
  2. Clica em Analisar. O resultado também se atualiza enquanto escreves.
  3. Lê o navegador, o motor, o sistema operativo, o dispositivo e a arquitetura do CPU nos cartões de resultado. Bot ou crawler diz-te se a string pertence a um crawler de motor de pesquisa conhecido, a um serviço de monitorização ou a um cliente de linha de comandos.
  4. Para analisares o teu próprio navegador com a máxima precisão, clica em Usar o meu navegador. No Chrome, no Edge, no Opera e noutros navegadores Chromium, isto também lê as User-Agent Client Hints, que indicam a versão real da plataforma, a arquitetura do CPU e o modelo do telemóvel.
  5. Para analisares muitas strings de uma vez, cola um user agent por linha (de um registo de servidor, por exemplo). A ferramenta passa a mostrar uma tabela com uma linha por cada user agent. Clica em Transferir CSV para guardares os resultados para uma folha de cálculo.

Tudo corre localmente com a biblioteca de código aberto ua-parser-js: as strings que colas nunca são enviadas para lado nenhum.

O que contém uma string de user agent

Um user agent é o texto que um navegador envia no cabeçalho HTTP User-Agent e que expõe em navigator.userAgent. É mais uma manta de retalhos histórica do que um formato limpo. Quase todos os navegadores começam por Mozilla/5.0 por razões de compatibilidade, e o Chrome ainda menciona AppleWebKit e Safari. Por isso, o analisador procura padrões conhecidos por uma ordem precisa, em vez de ler os elementos à letra:

  • Navegador: o produto e a versão, como Chrome 131, Firefox 128 ou Mobile Safari 17.5. O Tipo de navegador é preenchido para clientes especiais: crawler, ferramenta de linha de comandos, cliente de email, navegador integrado numa aplicação ou leitor multimédia.
  • Motor: Blink (Chrome, Edge, Opera, Samsung Internet), Gecko (Firefox) ou WebKit (Safari e todos os navegadores em iOS).
  • Sistema operativo e a respetiva versão, quando a string a revela.
  • Dispositivo: tipo (telemóvel, tablet, smart TV, consola, dispositivo vestível…), fabricante e modelo. Os navegadores de computador normalmente não indicam dispositivo, por isso a ferramenta mostra «Computador (sem indicação de dispositivo)» quando encontra um sistema operativo de computador.
  • Arquitetura do CPU, como amd64 ou arm64, quando é mencionada.

User agents reduzidos e congelados

Desde 2022–2023, os navegadores Chromium enviam um user agent reduzido para limitar a recolha passiva de impressões digitais (fingerprinting). A versão principal continua a ser real, mas a versão secundária é sempre 0.0.0 (Chrome/131.0.0.0) e a parte da plataforma está congelada:

  • Windows NT 10.0; Win64; x64 em todas as versões do Windows, incluindo o Windows 11;
  • Macintosh; Intel Mac OS X 10_15_7 em todas as versões do macOS, mesmo nos Mac com Apple silicon;
  • Linux; Android 10; K em todos os telemóveis Android: a versão real do Android e o modelo ficam escondidos.

O Safari também congelou a versão do macOS há anos, e o Firefox indica Windows NT 10.0 no Windows 11. Quando a ferramenta reconhece um destes padrões congelados, mostra uma nota: a análise está correta, mas a string simplesmente já não contém esses pormenores.

A alternativa são as User-Agent Client Hints. Um servidor pede valores adicionais com o cabeçalho Accept-CH e recebe os cabeçalhos de pedido Sec-CH-UA, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version ou Sec-CH-UA-Model; os scripts chamam navigator.userAgentData.getHighEntropyValues(). Usar o meu navegador faz exatamente isso e lista os valores sob o título das Client Hints.

Perguntas frequentes

Posso confiar no user agent para identificar um visitante?

Não. Qualquer cliente pode enviar qualquer user agent: extensões do navegador, ferramentas de programador, scrapers e bots falsificam-no com frequência. Usa-o para estatísticas e indicações de compatibilidade, nunca para decisões de segurança ou controlo de acesso.

Porque é que o meu PC com Windows 11 aparece como Windows 10?

Porque o Windows 11 não alterou o elemento Windows NT 10.0, e os navegadores Chromium agora congelam-no de qualquer forma. Só as Client Hints (platformVersion 13 ou superior) revelam o Windows 11. Clica em Usar o meu navegador no Chrome ou no Edge para o veres.

Porque é que o modelo do telemóvel é «K»?

É o modelo congelado do user agent reduzido do Chrome em Android. O modelo real só está disponível através da client hint Sec-CH-UA-Model.

Porque é que Usar o meu navegador não mostra Client Hints?

O Firefox e o Safari não implementam as User-Agent Client Hints, por isso só está disponível a string clássica. Os navegadores Chromium também as podem reter em alguns modos de privacidade.

Quantas linhas posso analisar de uma vez?

Até 5000 user agents de cada vez; as linhas a mais são ignoradas com uma mensagem. A exportação CSV protege as células que começam por =, +, - ou @ para que as folhas de cálculo não as executem como fórmulas.