Cómo leer un user agent (con ejemplos reales)

Por • 2 Noviembre, 2026 • Herramientas para desarrolladores • 11 minutos de lectura

Aprende a leer cualquier user agent: qué tokens importan, qué valores congelan los navegadores y cómo verificar bots. Resultados reales del analizador.

Para leer un user agent, sáltate el Mozilla/5.0 del principio y busca tres cosas: la plataforma dentro del primer paréntesis (Windows NT 10.0, Android 10; K, iPhone OS 18_6), el último token de navegador antes o después de Safari/ (Edg/, OPR/, Chrome/, Version/) y si aparece la palabra Mobile. Después ten en cuenta que los navegadores actuales congelan a propósito partes de la cadena, así que parte de lo que lees es un valor fijo y no la realidad. Nuestro analizador de user agent gratuito hace la primera parte por ti: pegas la cadena y te devuelve navegador, sistema operativo y tipo de dispositivo, sin crear cuenta.

Todos los resultados de esta guía se obtuvieron el 2 de noviembre de 2026, en la herramienta en vivo o con la misma librería de análisis en el servidor que la ejecuta. Las cadenas vienen de Chrome 156 en nuestra máquina de pruebas y de los formatos publicados por Chromium, Mozilla (MDN), el equipo de WebKit de Apple y Google Search Central.

¿Tienes una cadena delante? Pégala en el analizador de user agent y sigue leyendo para saber qué partes son fiables.

Las partes de un user agent

Este es Chrome en Windows, tal como lo documenta MDN:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36
  • Mozilla/5.0: un resto histórico de compatibilidad. Casi todos los navegadores lo envían, así que no aporta nada.
  • (Windows NT 10.0; Win64; x64): la plataforma. Aquí está el sistema operativo.
  • AppleWebKit/537.36 (KHTML, like Gecko): el motor, más o menos. El motor Blink de Chrome sigue declarando WebKit 537.36 por compatibilidad.
  • Chrome/143.0.0.0: el navegador y su versión. Desde Chrome 101 los tres últimos números son siempre 0.0.0; solo la versión mayor es real.
  • Safari/537.36: otro token de compatibilidad. Chrome no es Safari.

Los navegadores basados en Chromium añaden su propio token al final: Edg/ en Edge de escritorio, EdgA/ en Android y OPR/ en Opera. La regla es leer la cadena de derecha a izquierda: el token más específico suele ir al final. Safari es la excepción: su versión real está en Version/26.0, mientras que Safari/605.1.15 es un número de compilación.

Cómo analizar un user agent en 3 pasos

  1. Consigue la cadena exacta. Para tu propio navegador, abre la consola de desarrollador (F12) y escribe navigator.userAgent. Para un visitante, copia el campo user agent del log del servidor o de la exportación de analítica. Cópiala entera: un paréntesis de menos cambia el resultado.
  2. Pégala en el analizador. Abre el analizador de user agent, sustituye lo que haya en la casilla por tu cadena y pulsa Enviar. Verás tres filas: Navegador, Sistema operativo y Tipo de dispositivo.
  3. Contrasta el resultado con los valores congelados. El analizador marca Windows NT 10.0, Android 10, macOS 10.15.7 e iOS 18.6 como «congelado por el navegador», porque la versión real puede ser más nueva. Abajo explicamos por qué.

Ejemplos reales: lo que muestra el analizador

Todas estas cadenas se enviaron a la herramienta en vivo salvo la de la tablet, que pasó por la misma llamada de la librería en nuestro servidor. En la versión en español, Edge devolvió literalmente: Navegador Edge 143.0.0.0, Sistema operativo Windows 10.0, Tipo de dispositivo desktop. El tipo de dispositivo sale en inglés (desktop, mobile, tablet, bot) en todos los idiomas.

Quién la envíaTokens claveResultado
Chrome 143, WindowsWindows NT 10.0; Win64; x64Chrome 143.0.0.0 · Windows 10 u 11 (NT 10.0) (congelado por el navegador) · Escritorio
Edge 143, WindowsEdg/143.0.0.0Edge 143.0.0.0 · Windows 10 u 11 (NT 10.0) (congelado por el navegador) · Escritorio
Chrome 143, móvil Android (reducido)Linux; Android 10; K, MobileChrome 143.0.0.0 · Android 10 (congelado por el navegador) · Teléfono móvil
Chrome, tablet Android (reducido)Android 10; K, sin MobileChrome 93.0.0.0 · Android 10 (congelado por el navegador) · Tableta
Chrome 143, MacIntel Mac OS X 10_15_7Chrome 143.0.0.0 · macOS 10.15.7 (congelado por el navegador) · Escritorio
Safari 26, iPhoneiPhone OS 18_6, Version/26.0Safari 26.0 · iOS 18.6 (congelado por el navegador) · Teléfono móvil
Googlebot Smartphonecompatible; Googlebot/2.1Googlebot 2.1 · No informado (bot o herramienta) · Bot o herramienta
Chrome 156 headless (nuestra máquina)HeadlessChrome/156.0.0.0Chrome 156.0.0.0 (Navegador automatizado / sin interfaz (headless)) · Linux · Navegador automatizado / sin interfaz (headless)
curl 8.14.1curl/8.14.1Curl 8.14.1 · No informado (bot o herramienta) · Bot o herramienta

Fíjate en cuatro filas: el móvil Android no está en Android 10, el Mac casi seguro no usa Catalina, el iPhone no está en iOS 18 (el analizador marca las tres como congeladas) y el navegador automatizado (headless) aparece etiquetado como tal, no como un Chrome de escritorio normal.

Los valores congelados que engañan a todos

Windows NT 10.0 es Windows 10 y también Windows 11

La documentación de Microsoft dice que el user agent no se actualizará para distinguir Windows 11 de Windows 10: Chrome, Edge y Firefox en Windows 11 envían Windows NT 10.0. Nuestro analizador ya traduce el número NT a un nombre con esta tabla: 10.0 = Windows 10 u 11, 6.3 = 8.1, 6.2 = 8, 6.1 = 7. En navegadores Chromium, Windows 11 solo aparece en el client hint Sec-CH-UA-Platform-Version, donde 13.0.0 o más significa Windows 11. Firefox no envía client hints, así que con Firefox no se puede saber.

Android 10; K es un marcador fijo

Desde Chrome 110, Chrome para Android envía los valores literales Android 10 y K en lugar de la versión real y el modelo del teléfono. Da igual que sea un Samsung Galaxy o un Motorola: todos dicen lo mismo. Con el formato antiguo que aún documenta MDN (Linux; Android 16; Pixel 9, Chrome/143.0.12.45), nuestro analizador sí lee Android 16. Si en tus logs ves un modelo real junto a un Chrome reciente, suele ser otro navegador o un WebView, porque la reducción no se aplica al WebView de Android.

Lo que sigue funcionando es la palabra Mobile: Chrome la envía en teléfonos y la omite en tablets. Por eso el analizador clasificó la segunda cadena Android como tablet.

macOS 10_15_7 está congelado en Chrome y Safari

Chrome fijó la versión de macOS en 10_15_7 en Chrome 90, y Safari envía el mismo valor; Firefox envía 10.15. Por eso el analizador dice macOS 10.15.7 para cualquier Mac actual y lo marca como congelado por el navegador. La cadena también dice Intel en los Mac con chip Apple, así que no la uses para elegir entre una descarga Intel o ARM.

Safari 26 en iPhone dice iOS 18

A partir de Safari 26, Apple congeló la versión de iOS en el user agent. El gestor de errores de WebKit confirma que iPhone OS 18_6 like Mac OS X es intencionado y permanente, y compilaciones posteriores movieron el valor congelado a 18.7. En iPhone y iPad guíate por Version/26.0: la versión mayor de Safari sigue a la de iOS.

El iPad añade otra trampa: por defecto, Safari en iPadOS pide la versión de escritorio y envía la misma cadena Macintosh que un Mac, así que ningún analizador en el servidor puede distinguirlos. En JavaScript, una cadena Macintosh con navigator.maxTouchPoints mayor que 1 indica un iPad.

Errores comunes al detectar navegadores

  • Buscar solo "Chrome" o "Safari". Edge y Opera contienen Chrome/, y Chrome contiene Safari/. Comprueba primero el token más específico (Edg/, OPR/), luego Chrome/, y solo llama Safari a lo que no tenga Chrome/.
  • Fiarte del nombre de un bot. Cualquiera puede escribir Googlebot en su user agent. Google indica hacer una búsqueda DNS inversa de la IP, comprobar que el nombre termina en googlebot.com, google.com o googleusercontent.com, y luego una búsqueda directa que devuelva la misma IP. Lo hicimos con el ejemplo de la documentación de Google: la búsqueda inversa de IP convirtió 66.249.66.1 en crawl-66-249-66-1.googlebot.com, y la consulta DNS devolvió de nuevo 66.249.66.1. Si la búsqueda inversa devuelve el nombre de un hosting, el bot es falso.
  • Tratar Chrome headless como una persona. Nuestra máquina envió HeadlessChrome/156.0.0.0 y el analizador ahora lo etiqueta como navegador automatizado / sin interfaz (headless). Busca HeadlessChrome en tus logs, sabiendo que un scraper puede quitar ese token sin esfuerzo.
  • Esperar la versión exacta. El user agent de nuestro Chrome decía 156.0.0.0. La versión completa, 156.0.8078.47, solo salió de la API de client hints de alta entropía (navigator.userAgentData.getHighEntropyValues(['fullVersionList'])).
  • Usar el user agent para decidir funciones. Para saber si un navegador soporta algo, comprueba la función directamente. El user agent sirve para analítica, depuración y filtrar bots.

Cuando necesitas más: User-Agent Client Hints

Los navegadores Chromium (Chrome, Edge, Opera) envían un pequeño conjunto de client hints en cada petición HTTPS. Nuestro Chrome 156 envió esto junto al user agent:

Sec-Ch-Ua: "Not:A-Brand";v="8", "Chromium";v="156", "Google Chrome";v="156"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Linux"

Para más detalle (versión del sistema, modelo, arquitectura o lista completa de versiones), tu servidor envía una cabecera Accept-CH con los hints que quiere y el navegador los incluye en las siguientes peticiones. Firefox y Safari no admiten client hints, así que conserva siempre el user agent como respaldo. La consulta de cabeceras HTTP muestra si un sitio envía Accept-CH.

Qué hacer ahora

Preguntas frecuentes

¿Por qué todos los user agent empiezan por Mozilla/5.0?

Es un token histórico de compatibilidad. Las primeras webs servían mejores páginas a Netscape (Mozilla), así que los demás navegadores lo copiaron y hoy nadie puede quitarlo sin romper sitios antiguos. No aporta información.

¿Se puede distinguir Windows 11 de Windows 10 por el user agent?

No. Ambos envían Windows NT 10.0, como documenta Microsoft. Los navegadores Chromium indican Windows 11 en el client hint Sec-CH-UA-Platform-Version (13.0.0 o superior). Firefox no tiene equivalente.

¿Por qué Chrome en mi móvil dice Android 10 y K?

Desde Chrome 110, Chrome para Android envía esos valores fijos para reducir el fingerprinting. La versión real y el modelo solo están disponibles mediante client hints como Sec-CH-UA-Platform-Version y Sec-CH-UA-Model.

¿Por qué mi iPhone aparece con iOS 18?

Safari 26 congela a propósito la versión de iOS en un valor 18.x, y el equipo de WebKit de Apple dice que es permanente. Usa el token Version/: Safari 26 significa iOS 26.

¿Cómo sé si una visita de Googlebot es real?

Haz una búsqueda DNS inversa de la IP del log, comprueba que el nombre termina en googlebot.com, google.com o googleusercontent.com, y luego busca ese nombre y confirma que devuelve la misma IP. El user agent por sí solo no demuestra nada.

¿El analizador de user agent es gratis?

Sí. Es gratis y no necesita cuenta, y solo envía a nuestro servidor la cadena que pegas. Los visitantes tienen 5 análisis al día y una cuenta gratuita (sin spam) quita ese límite.

Cómo codificar una URL: %20 o + y errores comunes

1 Noviembre, 2026

Codifica cualquier texto para una URL en segundos con una herramienta gratis. Cuándo usar %20 o +, tildes y ñ, y cómo evitar la doble codifi..

Cómo minificar CSS (y cuánto ahorras de verdad)

31 Octubre, 2026

Minifica CSS en segundos con una herramienta gratis, mide el ahorro real tras gzip y Brotli y evita los errores que rompen tus estilos sin a..

Cómo decodificar Base64: texto, imágenes y JWT (gratis)

30 Octubre, 2026

Decodifica cualquier cadena Base64 en segundos: ejemplos reales con texto, imágenes, JWT y Basic Auth, y por qué salen caracteres raros y có..