Analizar User-Agent

Detecta navegador, motor, sistema y dispositivo desde cualquier user-agent.

La cadena se analiza aquí, no se envía

Analizar una cadena user-agent online

Ejemplos

Sobre este analizador de user-agent

Pega una cadena user-agent —de un log del servidor, un reporte de analítica o un ticket de soporte— y descubre qué identifica: navegador y versión, motor de renderizado, sistema operativo y tipo de dispositivo. Una tabla de reglas escrita a mano evalúa las firmas en el orden que de verdad funciona: primero los bots (los crawlers incluyen tokens de navegadores reales), Edge y Opera antes que Chrome, y Chrome antes que Safari, porque cada derivado de Chromium conserva ambos tokens en su cadena.

Es útil para ingenieros de soporte que investigan reportes de errores, desarrolladores que leen logs de acceso y cualquiera con curiosidad por saber qué envía su propio navegador: hay un botón "usar el mío" justo para eso. El análisis ocurre por completo en el JavaScript de esta página, sin API de consulta ni base de datos externa. Nada sale de tu equipo, así que puedes pegar user agents directo de logs de producción.

Cómo leer una cadena user-agent: 9 ejemplos reales y su pista delatora

Cada fila de abajo es una forma real y actual de user-agent tomada de una fuente primaria: la referencia de User-Agent de MDN, la documentación de crawlers de Google y los valores por defecto de curl y de requests. La clave para leer cualquier cadena es detectar un token —la pista— que el cliente no puede quitar sin romper algo. Las versiones de navegador cambian todo el tiempo, así que lee 1XX como 'la que salga este mes.'

Lo que esCadena user-agent representativaLa pista
Chrome de escritorio (Windows)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/1XX.0.0.0 Safari/537.36Chrome/ presente, Safari/537.36 al final y sin Edg/ ni OPR/. Todo navegador Chromium conserva el token Safari, así que la ausencia de cualquier derivado es la señal.
Safari en iPhoneMozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1Version/… justo antes de Safari/604.1. El Safari real lleva un token Version/; Chrome en iOS pone CriOS y Firefox pone FxiOS.
Firefox (escritorio)Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:1XX.0) Gecko/20100101 Firefox/1XX.0Gecko/20100101 y Firefox/, con rv: en la plataforma y sin AppleWebKit. Es el único motor grande que nunca finge ser WebKit.
Edge (Chromium)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/1XX.0.0.0 Safari/537.36 Edg/1XX.0.0.0Edg/ justo al final. Fíjate que sigue diciendo Chrome/ y Safari/, así que evalúa Edg/ antes que Chrome/ o lo etiquetarás mal.
Chrome en AndroidMozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/1XX.0.0.0 Mobile Safari/537.36Mobile Safari más el congelado 'Android 10; K'. La reducción reemplazó la versión real del sistema y el modelo del teléfono por valores fijos: K no es ningún dispositivo.
Googlebot (móvil)Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)Googlebot/2.1 y la URL +http://www.google.com/bot.html. Incluye un token Chrome completo, así que las reglas de bots deben evaluarse antes que las de navegadores.
curlcurl/8.x.xToda la cadena es 'curl/' más una versión: sin Mozilla/5.0 ni paréntesis. Delata a un cliente de línea de comandos o a un script.
python-requestspython-requests/2.x.xLiteralmente 'python-requests/'. Es el valor por defecto de la librería requests de Python; verlo en los logs casi siempre significa un script, no una persona.
facebookexternalhitfacebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)facebookexternalhit/. Es el crawler de vistas previas de Meta, que se dispara cuando se comparte una URL en Facebook, Instagram o Messenger.

Dos de estas —Chrome de escritorio y Chrome en Android— ya están 'reducidas': Chrome pone en cero la versión menor y congela la plataforma, así que Chrome/1XX.0.0.0 y 'Android 10; K' no llevan ningún dato real. Es a propósito. El navegador, el sistema y el dispositivo exactos se están mudando a los User-Agent Client Hints (las cabeceras Sec-CH-UA-* que el servidor tiene que pedir), y por eso conviene leer la cadena como una etiqueta aproximada, no como una huella.

Preguntas frecuentes

¿Por qué todas las cadenas empiezan con Mozilla/5.0?

Es herencia histórica. Los primeros sitios web servían mejores páginas a Netscape ("Mozilla"), así que cada navegador posterior fingió serlo, y luego fingieron ser otros. Por eso importa el orden de detección: Edge y Opera incluyen "Chrome" en sus cadenas, y todo lo basado en Chromium incluye "Safari".

¿Por qué el sistema aparece como "Windows 10 / 11"?

Windows 11 sigue reportando "Windows NT 10.0" en el user agent, así que ambos son idénticos viendo solo la cadena. Únicamente los User-Agent Client Hints (Sec-CH-UA-Platform-Version) permiten distinguirlos, y esos viajan en cabeceras separadas.

¿Qué tan confiable es analizar un user-agent?

Es una aproximación, y cada vez menos precisa a propósito. Los navegadores modernos congelan o reducen sus cadenas —Safari lleva años reportando macOS 10.15.7— mientras los Client Hints las reemplazan. Además, cualquier cliente puede falsificar su cadena, así que tómalo como una pista fuerte, no como una prueba.

Herramientas relacionadas