Analizador de User Agent

Pega cualquier cadena User-Agent y obten el navegador, el motor de renderizado, el sistema operativo, el tipo de dispositivo y la arquitectura de CPU, con un desglose JSON copiable.

Convierte una cadena User-Agent en algo legible. Tu propio User-Agent se carga por defecto. Pega cualquier otra cadena para ver como se descompone y copia el desglose JSON para un informe de error o un caso de prueba.

Navegador
Motor
Sistema operativo
Tipo de dispositivo
Arquitectura de CPU

Por que las cadenas User-Agent son asi

Tres decadas fingiendo ser el otro

Un User-Agent moderno no es una descripcion, es un registro fosil. Casi todos los navegadores de escritorio siguen empezando por Mozilla/5.0, un token que no significa nada desde que Netscape perdio la guerra de los navegadores. Sobrevive porque los servidores antiguos buscaban Mozilla antes de servir marcos, asi que todos los competidores lo anadieron para no recibir una version degradada. En cuanto un navegador miente para obtener la buena version de una pagina, el resto tiene que mentir igual o perder usuarios.

La misma espiral produjo el resto de la cadena. Chrome envia AppleWebKit/537.36 (KHTML, like Gecko) aunque dejo WebKit en 2013 y KHTML lleva muerto mucho mas tiempo. Edge anade Edg/ en lugar de Edge/ precisamente porque demasiados sitios comprobaban el token antiguo como subcadena y servian una alternativa rota. La version real de Safari se esconde en un token Version/ mientras el Safari/537.36 final esta congelado. Por eso el analisis debe ir de lo mas especifico a lo mas generico: todo derivado de Chromium tambien dice ser Chrome y todo navegador WebKit tambien dice ser Safari, asi que gana la primera coincidencia fiable.

Que puedes creerte y que no

La cadena es una cabecera que envia el cliente, o sea una pista y nunca una prueba. Cualquier cliente HTTP puede mandar lo que quiera, y los usuarios la falsean a menudo con extensiones o herramientas de desarrollo. Tratala como informacion de diagnostico en un log, no como entrada de autorizacion ni como frontera de seguridad.

Incluso cuando nadie miente, los valores son cada vez mas gruesos. Chrome y Edge congelan ya los segmentos menores de version en 0.0.0 y reportan una plataforma reducida, de modo que Windows NT 10.0 cubre tanto Windows 10 como Windows 11, y macOS lleva anos fijado en 10_15_7 sea cual sea la version real. Firefox redondea sus datos de sistema de forma parecida. Si un numero de version parece sospechosamente redondo, seguramente lo es.

La deteccion de dispositivo es la parte mas fragil. No existe un campo de dispositivo en la cadena; se infiere de la presencia o ausencia de tokens como Mobile, iPad o Tablet. Las tabletas Android son la trampa clasica, porque muchas solo se identifican por la ausencia del token Mobile, y iPadOS se presenta deliberadamente como un Mac de escritorio en su configuracion por defecto.

Usa deteccion de caracteristicas casi siempre

Para cualquier cosa que cambie el comportamiento, comprueba la capacidad en vez de la etiqueta. if ('share' in navigator) es correcto y duradero; if (isSafari) se rompe en cuanto otro motor implementa la misma API o Safari corrige el fallo. Para el diseno, las media queries de CSS describen el viewport real y el metodo de entrada mucho mejor que cualquier conjetura sobre el dispositivo.

Donde el User-Agent sigue siendo util es en analitica, clasificacion de fallos y reproduccion de errores. Saber que una traza solo aparece en Gecko, o que un problema de maquetacion se limita a Samsung Internet, convierte un informe irreproducible en un caso de prueba concreto. El reemplazo moderno es la API User-Agent Client Hints, que expone los mismos datos como valores estructurados y exige una peticion explicita para los detalles de alta entropia.

Nota de codigo abierto: implementado en JavaScript puro sin librerias de terceros.

Preguntas frecuentes

Por que Chrome dice ser Mozilla y Safari a la vez?
Compatibilidad historica. Los servidores buscaban Mozilla antes de enviar marcado moderno, y despues Safari antes de enviar CSS especifico de WebKit. Todos los navegadores anadieron esos tokens para no recibir una pagina degradada, y quitarlos ahora romperia sitios que aun comprueban.
Puedo fiarme del User-Agent para decisiones de seguridad?
No. Es una cabecera que el cliente controla por completo y puede fijar a cualquier valor. Usala solo para diagnostico y estadisticas. Todo lo que restrinja acceso o aplique una politica debe apoyarse en la autenticacion, no en una cadena autodeclarada.
Por que mi version de macOS aparece como 10.15.7?
Safari y Chrome congelan a proposito la version reportada de macOS en 10_15_7 para reducir la superficie de fingerprinting. El navegador conoce la version real pero no la pone en la cabecera. Client Hints puede exponerla, pero solo si el sitio la pide.
Como distingue la herramienta una tableta de un movil?
Busca un token iPad, una cadena Android sin el token Mobile, o un marcador Tablet explicito. Es lo que hacen la mayoria de librerias, pero sigue siendo una heuristica. Algunas tabletas Android son indistinguibles de un movil grande solo por la cadena.
Se envia mi User-Agent a algun sitio?
No. El analisis se ejecuta integramente en tu navegador con expresiones regulares y no se sube nada. El valor por defecto se lee localmente de navigator.userAgent y nunca sale de la pagina.
Que deberia usar en lugar de olfatear el User-Agent?
Deteccion de caracteristicas para capacidades, media queries de CSS para el diseno y la API User-Agent Client Hints cuando de verdad necesites datos de plataforma. Client Hints da valores estructurados y mantiene los detalles de alta entropia tras una peticion explicita.