User-Agent 解析器
从 UA 字符串识别浏览器、内核、操作系统与设备
本地运行
loading…
关于此工具
把日志行、bug 报告或分析导出里的 User-Agent 字符串粘进来,得到解码结果:浏览器及版本、渲染引擎、操作系统、设备类型和 CPU 架构。解析器是 ua-parser-js——无数分析管线背后的同一个库——在本地处理你的字符串。
User-Agent 字符串是考古现场——每一条都还自称 Mozilla/5.0,Chrome 自称 Safari,Safari 自称 KHTML,真实身份藏在后面的标记里。解析器胜过眯眼硬看:它知道「CriOS」是 iOS 上的 Chrome,Edge 躲在「Edg/」后面。
注意趋势:浏览器正在冻结和精简 UA 字符串(Chromium 转向 UA Client Hints),仅凭 UA 得到的版本信息会越来越粗。用于日志取证和 bug 分诊它依然不可或缺;做功能决策,请用特性检测。
常见问题
- 为什么每个 User-Agent 都以 Mozilla/5.0 开头?
- 始于 1990 年代、再没结束的兼容性表演:服务器嗅探「Mozilla」来提供现代页面,于是每个新浏览器都自称是它,后来者又层层模仿前任。这个前缀如今只是无意义的传统。
- UA 字符串里的操作系统版本可信吗?
- 一年比一年不可信。macOS 把 UA 版本冻结在 10_15_7,Windows 11 报告为 Windows NT 10.0,精简 UA 的浏览器还会刻意粗化版本。把 UA 里的系统版本当近似值;能控制客户端时用 UA Client Hints。
- 「like Gecko」或「KHTML, like Gecko」是什么意思?
- 更多层的模仿:WebKit 源自 KHTML,又希望那些为 Gecko(Firefox 引擎)做特殊处理的页面正常工作,于是加上「like Gecko」。每个 WebKit/Blink 浏览器至今都带着这句话。
- 该用 UA 解析做功能检测吗?
- 不该——新浏览器版本一发布,嗅探就会失效。直接检测特性本身(if ("clipboard" in navigator))。UA 解析用于分析、日志研究和复现用户报告的 bug——那些「知道环境」本身就是目的的场景。