Gerador de User Agent Aleatório - Criar Strings de Navegador
Gere strings de user agent autênticas para Chrome, Firefox, Safari e Edge. Teste compatibilidade de navegadores, designs responsivos e APIs com identificadores de navegador realistas.
Gerador Aleatório de User Agent
Gere strings de user agent de navegador aleatórias e realistas para testes de desenvolvimento web.
User Agent Gerado
Documentação
Gerador aleatório de User Agent
Um gerador aleatório de user agents cria strings de user agent de exemplo, as linhas curtas de texto que um navegador envia a um site para se identificar. Esta ferramenta cria strings que seguem o formato real usado pelo Chrome, Firefox, Safari e Edge, em dispositivos desktop e móveis, para que desenvolvedores testem como um site responde a diferentes navegadores sem instalar cada um deles.
O que é uma string de User Agent?
Toda vez que um navegador solicita uma página web, ele envia um cabeçalho HTTP User-Agent. O cabeçalho é uma única linha de texto que descreve o nome do navegador, sua versão, o sistema operacional e o mecanismo de renderização (a parte do navegador que desenha a página). Um site pode ler esse cabeçalho para decidir qual layout de página ou quais recursos enviar de volta.
Uma string de user agent típica é semelhante a esta:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Quase todo navegador começa sua string com "Mozilla/5.0". É uma herança da década de 1990, quando os sites procuravam por essa palavra para decidir se um navegador era capaz o bastante de exibir uma página. Os navegadores mais novos mantiveram o termo para não serem bloqueados por verificações antigas.
Como este gerador funciona
A ferramenta tem três controles:
- Tipo de dispositivo – Desktop ou celular.
- Família do navegador – Chrome, Firefox, Safari ou Edge.
- Sistema operacional – Windows, macOS ou Linux para desktop; iOS ou Android para dispositivos móveis.
Nem toda combinação existe no mundo real, por isso a ferramenta limita as opções. O Safari aparece somente no macOS e no iOS, porque a Apple não distribui o Safari para Windows, Linux ou Android. Chrome, Firefox e Edge estão disponíveis em todos os sistemas operacionais listados, inclusive no iOS, onde funcionam como uma camada sobre o mecanismo WebKit da Apple, em vez de usarem seus próprios mecanismos.
Clicar em "Gerar novo" cria uma string a partir dessas três configurações e de um número de versão escolhido aleatoriamente. O botão "Copiar" copia o resultado para a área de transferência.
Formato da string de User Agent por navegador
Cada navegador preenche um modelo semelhante com seus próprios tokens.
Chrome (desktop):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2Chrome (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2Firefox:
1Mozilla/5.0 (platform; rv:major.0) Gecko/trail Firefox/major.0
2Safari (macOS e iOS):
1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Safari/605.1.15
2Edge (desktop):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2Edge (Android):
1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36 EdgA/major.0.build.build
2Desde 2022, o Chrome e os navegadores baseados em Chromium, como o Edge, congelaram a maior parte do número de versão no desktop e no Android para reduzir a quantidade de detalhes de identificação no cabeçalho, uma mudança que o Google chama de "User-Agent Reduction". Em vez de um número de compilação real, o termo do Chrome nessas strings sempre aparece como major.0.0.0 (por exemplo, 128.0.0.0), e este gerador reproduz esse comportamento. A exceção é o termo próprio do Edge, Edg/ no desktop e EdgA/ no Android, e o Chrome no iOS (CriOS/), que ainda trazem um número de compilação completo com quatro partes, porque a política de redução do Google não se aplica a eles.
O Firefox não adotou o mesmo congelamento. Sua string de versão real normalmente tem apenas duas partes, major.0, e é isso que o gerador produz. Uma versão do Firefox com três partes, como 95.0.2, pode aparecer na prática após uma correção de segurança, mas esta ferramenta gera apenas a forma de duas partes.
Exemplos de resultados
Chrome desktop no Windows:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2Firefox desktop no macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2Safari desktop no macOS:
1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2Edge desktop no Windows:
1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.2903.86
2Chrome móvel no Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2Edge móvel no Android:
1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 EdgA/128.0.2952.62
2Safari móvel no iPhone:
1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
2Firefox móvel no Android:
1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2Diferenças entre desktop e dispositivos móveis
As strings de desktop indicam o sistema operacional e, muitas vezes, a arquitetura do processador: Win64; x64 para o Windows de 64 bits, ou Intel Mac OS X para um Mac. Elas permanecem relativamente uniformes, pois há apenas algumas plataformas de desktop a representar.
As strings de dispositivos móveis costumam acrescentar a palavra "Mobile" para que o site saiba que deve entregar um layout adequado ao toque. Os dispositivos iOS se identificam como "iPhone" junto com a versão do iOS. O Android é diferente: por causa da mesma política de redução de versão que afeta o número de compilação do Chrome, o Chrome e o Edge no Android sempre informam a plataforma como Linux; Android 10; K, não importa qual versão do Android ou modelo de telefone esteja realmente em uso. O "K" é um marcador de posição, não um código de dispositivo real, e a versão real do Android fica oculta. O Firefox para Android não congela a versão da mesma forma e informa a versão principal real do Android, mas não inclui nenhum modelo de dispositivo. Um gerador que mostre um modelo específico de telefone, como o número de modelo de um Galaxy, dentro de uma string do Chrome para Android não corresponderia ao comportamento real e atual do Chrome.
Por que as strings de User Agent parecem confusas
A string parece desorganizada por causa de décadas de correções de compatibilidade. Nas "guerras dos navegadores" do fim dos anos 1990, alguns sites enviavam páginas melhores somente para o Netscape ou somente para o Internet Explorer, verificando palavras-chave no cabeçalho. Os navegadores concorrentes responderam adicionando essas mesmas palavras-chave às próprias strings para não serem rejeitados. É por isso que a string do Chrome ainda menciona "Safari" e "like Gecko", embora não use nenhum dos mecanismos com esses nomes. Cada token é um vestígio de uma negociação criada para satisfazer uma antiga verificação de compatibilidade, não uma descrição fiel do software.
Como muitos sites ainda analisam essas strings, os fabricantes de navegadores não podem simplesmente remover essa desordem sem quebrar páginas. A substituição de longo prazo, chamada User-Agent Client Hints, envia os detalhes do navegador como cabeçalhos separados e estruturados, em vez de uma única string longa, mas o cabeçalho clássico User-Agent ainda é enviado em todos os lugares por compatibilidade com versões anteriores.
Usos comuns
- Testes de compatibilidade. Verifique como uma página é renderizada quando detecta um navegador específico, sem instalar esse navegador.
- Verificações de design responsivo. Confirme que um site fornece um layout móvel quando recebe um user agent móvel e um layout de desktop nos demais casos.
- Suítes de testes automatizados. Insira várias strings de user agent em scripts de teste para verificar se o código de detecção de navegadores trata cada uma corretamente.
- Testes de APIs e cabeçalhos. Verifique se um servidor se comporta corretamente quando diferentes tipos de cliente enviam solicitações.
Limitações
O cabeçalho do agente do usuário é apenas um entre muitos sinais que um site pode ler. Os scripts executados na página podem verificar dezenas de outros detalhes, como fontes instaladas, tamanho da tela e a forma como a placa gráfica renderiza uma imagem de teste, uma técnica chamada impressão digital. Definir um user agent do Chrome enquanto se navega de fato no Firefox não enganará um site que verifica esses outros sinais; a divergência é fácil de detectar. Para tarefas cotidianas de desenvolvimento e garantia de qualidade, porém, uma cadeia de caracteres gerada no formato correto basta para testar como o servidor e o código do cliente de um site reagem a diferentes navegadores e dispositivos.
Perguntas frequentes
O que é uma string de user agent? É uma linha de texto que o navegador envia com cada requisição web, indicando o navegador, sua versão, o sistema operacional e o mecanismo de renderização. Os servidores a usam para decidir qual conteúdo ou layout devolver.
Por que a versão do Chrome sempre termina em .0.0.0?
Desde 2022, o Chrome congelou a maior parte do número de versão que informa no cabeçalho User-Agent para reduzir a identificação por impressão digital. Apenas o número da versão principal muda; o restante fica fixo em .0.0.0. O Edge e o Chrome no iOS são as exceções e ainda mostram um número de compilação completo.
Por que a string do Android não mostra o modelo do meu telefone?
O Chrome e o Edge modernos no Android informam uma string de plataforma fixa, Linux; Android 10; K, para todos os dispositivos e todas as versões reais do Android, como parte da mesma política de redução de versão que afeta o número de compilação do Chrome. O modelo real e a versão do Android não são expostos.
Posso usar um user agent gerado para web scraping?
É possível alterar o cabeçalho, mas os sites podem detectar a divergência por outros sinais, e o scraping pode violar os termos de serviço de um site ou as regras do robots.txt. Confira as políticas de um site antes de fazer scraping nele.
Uma string gerada é idêntica a uma string de um dispositivo real? Ela segue o mesmo formato e a mesma ordem de termos de um navegador real do mesmo tipo. Por causa do congelamento de versão do Chrome e do Edge no Android, uma string gerada do Chrome para Android e uma real podem ser idênticas na parte da plataforma, já que os dispositivos reais informam o mesmo valor fixo.
O que são Client Hints, e eles substituem a string de user agent?
Client Hints é um sistema mais novo que envia detalhes do navegador e do dispositivo em cabeçalhos HTTP separados, em vez de uma única string combinada. Os navegadores estão adicionando suporte a ele, mas o cabeçalho clássico User-Agent continua amplamente usado, porque muitos sites existentes ainda dependem dele.
Referências
- IETF. RFC 9110: HTTP Semantics, seção 10,1.5. RFC 9110 — define o cabeçalho de requisição
User-Agente como os servidores o utilizam. - MDN Web Docs. User-Agent header. MDN: User-Agent — formato comum dos navegadores
Mozilla/5.0 (<system-information>) …e redução do user agent. - The Chromium Projects. User-Agent Reduction. Chromium: User-Agent Reduction —
Chrome/<majorVersion>.0.0.0e a plataforma fixa do AndroidLinux; Android 10; K; a fase 4 foi implantada em 2022. - MDN Web Docs. Firefox user agent string reference. MDN: string de user agent do Firefox — formato do Firefox
rv:… Gecko/20100101 Firefox/…com versões de duas partes. - MDN Web Docs. HTTP Client hints. MDN: Client hints — detalhes do navegador enviados em cabeçalhos
Sec-CH-UA-*separados, junto comUser-Agent.