Analizador de User-Agent
DevAnaliza una cadena User-Agent en navegador, motor, sistema operativo y tipo de dispositivo. Heurístico, 100% en el cliente.
- Navegador
- Motor
- Sistema operativo
- Tipo de dispositivo
- Bot / rastreador
En esta página
¿Qué es un analizador de User-Agent?#
La cadena User-Agent (UA) es la línea de texto que todo navegador y cliente HTTP añade a sus peticiones para describirse a sí mismo. Es también un caos famosomente sin estructura: los fabricantes apilan tokens de compatibilidad histórica unos sobre otros, así que una sola cadena moderna de Chrome contiene también las palabras Mozilla, AppleWebKit, KHTML, Gecko y Safari, ninguna de las cuales significa que el navegador sea realmente ninguna de esas cosas. Leer un UA en bruto a ojo es lento y propenso a errores, razón por la que casi todo panel de analítica, herramienta de logs de acceso y capa de detección de bots lo pasa antes por un analizador.
Esta página toma cualquier cadena UA y la descompone en los cinco datos que de verdad quieres: Navegador (nombre y versión), Motor (el núcleo de renderizado), Sistema operativo (con su versión), Tipo de dispositivo (escritorio, móvil o tableta) y ¿Es bot? (si la cadena parece un rastreador). Se ejecuta completamente en tu navegador: pega una cadena de una línea de log y lee el desglose, sin ida y vuelta al servidor.
La razón de que la detección de navegador sea más difícil de lo que parece es el orden. Los navegadores especializados deben comprobarse antes que Chrome, porque sus cadenas UA contienen todas el token literal Chrome por compatibilidad. Microsoft Edge, Opera, Samsung Internet, Vivaldi y CocCoc serían todos reportados erróneamente como Chrome por una comprobación ingenua de if (ua.includes("chrome")). Lo mismo vale para los motores: la cadena AppleWebKit aparece tanto en navegadores Blink (Chrome, Edge, Opera) como en los puramente WebKit (Safari), así que el motor se infiere de la familia del navegador, no se empareja directamente.
Cómo se usa#
- Pulsa Usar mi navegador en la parte superior para cargar el
navigator.userAgentde este navegador en la caja de entrada: la forma más rápida de ver cómo es tu propio tráfico. - O pega cualquier cadena UA en el panel de Entrada: desde un log de acceso de nginx, un
req.headers["user-agent"]de tu backend, una petición curl, cualquier cosa. - Lee las cinco filas del panel de Salida:
- Navegador: nombre de familia y versión principal (p. ej.
Chrome 120). - Motor: el motor de renderizado (Blink, WebKit, Gecko, Trident).
- Sistema operativo: sistema operativo y versión cuando se pueda recuperar (p. ej.
Windows 10/11,iOS 17,Android 14). - Tipo de dispositivo:
Escritorio,MóviloTableta, inferido a partir de tokens comoiPad,AndroidsinMobile,iPhone. - Bot / rastreador:
Sí/No, marcado al comparar contra identificadores de rastreador (bot,crawl,spider,slurp,pingdom,headless,phantomjs,curl,wget,python-requests,axios…).
- Navegador: nombre de familia y versión principal (p. ej.
- Pulsa Limpiar para vaciar ambos paneles.
- La línea de estado resume el resultado o informa de que la entrada estaba vacía.
Características clave#
- Detección de navegador con prioridad a los especializados. Edge, Opera, Samsung Internet, Vivaldi, CocCoc y Firefox se emparejan todos antes que Chrome y Safari, así ninguno es engullido en silencio por el token de compatibilidad
Chrome. - Motor inferido de la familia. Blink frente a WebKit se decide por el navegador detectado, no por un emparejamiento directo y frágil con
AppleWebKit, razón por la que una cadena de Safari no se reporta como Chrome. - Clasificación por tipo de dispositivo. Las tabletas se distinguen de los teléfonos usando el token
iPady la distinciónAndroid ... Mobile, las mismas heurísticas de las que dependen las herramientas de analítica. - Marca de crawler. La fila Bot / rastreador marca las cadenas que normalmente querrás excluir de las métricas orientadas a humanos: rastreadores de búsqueda, monitores de uptime, navegadores sin cabeza y librerías HTTP.
- 100 % del lado del cliente. Ningún UA se envía a ningún sitio. Eso significa también que puedes pegar tokens de logs de producción sin filtrarlos a una API de terceros.
Ejemplo práctico#
Pega esta cadena típica de Chrome en Windows de un log de acceso:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
y las cinco filas se rellenan así:
Browser Chrome 120
Engine Blink
OS Windows 10/11
Device desktop
Bot no
Ahora contrástala con una cadena de Edge, observa el Edg/120 del final:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Un analizador ingenuo que compruebe Chrome primero reporta aquí Chrome 120: erróneo. Esta página comprueba Edg/ antes que Chrome/, así que la misma cadena produce correctamente Navegador: Microsoft Edge 120, con el motor todavía Blink (Edge se basa en Chromium).
Un tercer caso muestra el camino de los bots. Un script de health-check que envíe curl/7.81.0 se marca como Bot: Sí aunque no lleve envoltorio Mozilla, porque curl es uno de los tokens de librería que el emparejador de bots busca. Esa es la fila que te permite separar el tráfico de usuarios reales del ruido automatizado cuando hojeas un log.
Preguntas frecuentes#
¿Por qué mi navegador Edge aparece como «Microsoft Edge» y no como «Chrome», si el UA contiene la palabra Chrome?#
Porque el UA de Edge incluye deliberadamente Chrome/120.0.0.0 para que los sitios construidos para servir a Chrome sirvan también a Edge. Este analizador comprueba primero el token Edg/ y luego Chrome/, así que gana la familia especializada. Cualquier analizador que no ordene sus comprobaciones de esta forma reportará mal cualquier derivado de Chromium como Chrome.
¿Puedo fiarme de la versión de sistema operativo que saca de un UA?#
Hasta cierto punto. Windows colapsa 10 y 11 en Windows NT 10.0, así que aquí se reportan como 10/11. Las versiones de iOS y macOS se pueden recuperar del token OS X_x_x, pero históricamente se congelan en el momento del lanzamiento. Trata la versión como una fuerte pista, no como una garantía, y no basen en ella decisiones de seguridad.
¿Es la marca de Bot fiable como para bloquear tráfico?#
No: la detección de bots por UA es una comodidad para el análisis de logs y el filtrado de paneles, no una frontera de seguridad. Los clientes malintencionados falsifican el UA que quieran, incluidos perfectamente humanos. Usa esta fila para localizar los rastreadores y librerías obvios; usa limitación de tasa, autenticación y comprobaciones conductuales para cualquier cosa que de verdad necesite ser fiable.
El analizador muestra «Desconocido» para todo. ¿Qué he pegado?#
O bien una cadena vacía o de espacios, o bien un UA de un cliente que este analizador no reconoce (algunas apps de escritorio y SDKs envían identificadores a medida). La línea de estado dirá que la entrada estaba vacía en el primer caso; en el segundo, el navegador y el sistema operativo simplemente caen a Desconocido, mientras que el tipo de dispositivo por defecto es Escritorio. La cadena en bruto se conserva en el panel de entrada para que puedas inspeccionarla.