做网站分析、风控、设备适配时,第一手信息往往就是浏览器发来的 User-Agent 字符串。可惜 UA 格式千奇百怪,自己写正则既容易漏又难维护,遇到 Client Hints、AI 爬虫、Bot 更是捉襟见肘。ua-parser-js 把这套解析做成一个零依赖、可跑在浏览器和 Node 的小库,省去重复造轮子。

项目基本信息

信息项详情
项目名称ua-parser-js
GitHub地址https://github.com/faisalman/ua-parser-js
项目描述轻量无依赖的User-Agent解析库,识别浏览器/系统/设备/Bot/AI爬虫
作者faisalman
开源协议GNU Affero General Public License v3.0
开源状态公开
LanguagesJavaScript
支持平台Web
最后更新2026-09-29

一、项目介绍

ua-parser-js 是一个紧凑、兼容 ES5、零依赖的 JavaScript 库,用于解析 User-Agent。它基于一份持续维护、规模庞大的检测数据库,可识别各类浏览器、操作系统、设备、Bot、App 以及 AI 爬虫。v2.x 起采用 AGPL 协议,同时提供 MIT 的 v1.x 与商业 PRO 版本,按需选择。

二、核心优势

  • 全面检测:浏览器、OS、设备、渲染引擎、CPU、Bot、AI 爬虫全覆盖。
  • 久经考验:背靠活跃维护的大型检测库,被众多科技公司采用。
  • 处处可跑:浏览器、Node.js 与现代 JS 运行时通用。
  • 双许可:v1.x 用 MIT(适合宽松授权),v2.x 用 AGPL(功能更全)。
  • 托管 REST API:不想自己装,可直接调官方解析接口。

三、适用场景

  • 网站分析里按浏览器 / 设备维度统计访客。
  • 风控与安全识别 Bot、爬虫、AI 抓取器。
  • 针对不同设备返回差异化页面或资源。
  • 服务端日志的 UA 归并分析。

四、安装教程

通过 npm 安装:

 npm install ua-parser-js

或 yarn:

 yarn add ua-parser-js

常见报错:若项目锁在旧版 v0.7 / v1.0,升级到 v2.x 前请先读 CHANGELOG 了解破坏性变更;浏览器里直接引入 UMD 构建即可,无需打包。

五、使用示例

在 Node 或浏览器中解析请求 UA:

 import UAParser from 'ua-parser-js';

 const parser = new UAParser();
 const result = parser.setUA(req.headers['user-agent']).getResult();
 console.log(result.browser, result.os, result.device);

输出:返回 { ua, browser, engine, os, device, cpu, ... } 结构化对象,便于直接取用。

六、常见问题

  • v1 和 v2 怎么选?需要宽松 MIT 且无 Bot/AI 检测选 v1;要完整检测与 Client Hints 选 v2(AGPL)。
  • 商用要注意什么?v2 是 AGPL 强 copyleft,闭源商用需购买 PRO 许可。
  • 性能如何?纯前端解析,单条 UA 开销极低,适合高频调用。

七、总结

ua-parser-js 把繁琐的 UA 解析收敛成一个稳定、可移植的小库,是 Web 分析、风控、设备适配的常用基石。AGPL-3.0(v2)/ MIT(v1)双许可,按授权需求取用即可。