User-Agent Parser
Understand User-Agent Parser
Divide a string de user-agent de um navegador em nome e versão do navegador, sistema operacional, motor de renderização e tipo de dispositivo.
How it works
Uma string de user-agent é um cabeçalho sem estrutura que acumulou tokens de compatibilidade por trinta anos, então interpretá-la é casamento de padrões em uma ordem específica, e não leitura de campos. Todo navegador baseado em Chromium contém a substring "Chrome", então o Edge precisa casar em "Edg/" antes do Chrome, e o Chrome precisa casar antes do Safari porque o Chrome também carrega "Safari/537.36". A versão que importa em geral não é a primeira da string: o Safari informa a versão real em "Version/17.0", enquanto "Safari/605.1.15" é o build do WebKit. Esta ferramenta casa localmente com expressões regulares e não envia nada a lugar algum.
When to use it
- Ler valores brutos de User-Agent nos logs de acesso do servidor ou do CDN para ver o que de fato está chegando a um endpoint
- Reproduzir um relato de bug em que o único detalhe de ambiente fornecido foi uma string de UA colada
- Conferir a sanidade de analytics que agrupam navegadores de forma estranha, normalmente porque um fork do Chromium está sendo contado como Chrome
- Descobrir se uma requisição veio de um crawler, de um navegador headless ou de um cliente real
Watch out for
- Strings de user-agent são autodeclaradas e podem ser trocadas com uma linha de código ou um botão no DevTools. Nunca condicione segurança, licenciamento ou controle de acesso a elas.
- O Windows 11 ainda informa "Windows NT 10.0" — a Microsoft nunca incrementou a versão do NT, então Windows 10 e 11 são indistinguíveis pela UA sozinha. O macOS está congelado em "10_15_7" no Safari e no Chrome desde o Big Sur, pelas mesmas razões de fingerprinting.
- Chrome e Edge estão reduzindo a string de UA de propósito. Os dígitos de versão menor estão sendo zerados e detalhes de plataforma, removidos, então detecção de recursos ou a API User-Agent Client Hints é a substituta durável do parsing.
- O tipo de dispositivo é inferido de tokens como "Mobile" e "iPad", não medido. Um iPad em modo desktop se apresenta como um Mac, e um tablet Android grande pode ou não incluir "Tablet".
Not the right tool for: Decidir quais recursos habilitar. Teste a capacidade (`if ("share" in navigator)`) em vez de inferi-la a partir de um nome de navegador — o sniffing de UA quebra em todo navegador que você não previu.
Frequently Asked Questions
Qual é o meu user agent?
Seu user agent é a string de identificação que o navegador envia em cada requisição, nomeando o motor, a versão e o sistema operacional. Esta ferramenta o lê de navigator.userAgent e o mostra dividido em partes assim que a página carrega, para você ler o seu sem abrir as ferramentas de desenvolvedor.
Como obter a string de user-agent de um navegador?
Abra o console do DevTools (F12) e digite navigator.userAgent. Ou confira os logs de requisição do seu servidor, no cabeçalho User-Agent. Algumas ferramentas de analytics também expõem as strings de UA brutas.
Por que o user-agent do Chrome é tão longo?
Historicamente, sites serviam conteúdo diferente conforme o navegador. O Chrome inclui "Mozilla/5.0" (o antigo token do Netscape), "AppleWebKit" (para sites baseados em WebKit), "Gecko" (para alternativas baseadas em Gecko) e "Chrome/X" (a versão real dele). Essa abordagem de compatibilidade em primeiro lugar cria o formato verboso.
Como detectar se um user agent é um bot ou um crawler?
User agents de bots costumam incluir "bot", "crawler", "spider", "slurp" ou o nome do serviço (Googlebot, Bingbot, AhrefsBot, facebookexternalhit). Esta ferramenta sinaliza padrões conhecidos de bots. Crawlers legítimos também têm RDNS e publicam suas faixas de IP.
How to Use User-Agent Parser
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.