开发者工具 · 颜色 / 设计开发

User-Agent 解析

UA→浏览器/系统/设备

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 62 次使用
USER-AGENT 字符串
本 机 环 境 navigator · Client Hints(userAgentData)对照
就绪 · 默认已填入本机 UA · 全程浏览器本地处理
第一节

关于本工具

About

打开浏览器开发者工具,UA 字符串密密麻麻挤在一行——它是服务器识别客户端身份的唯一凭证,但人工读起来像乱码。粘贴任意 UA 字符串,工具解析出浏览器名称版本、操作系统、设备型号,并标记搜索引擎爬虫。所有解析在浏览器本地完成,UA 不会离开你的设备。

使用场景

埋点日志排查

后端日志里躺着一堆 User-Agent 字符串,业务方报 Android 端某版本启动崩溃率异常。开发需要快速确认这批 UA 到底来自哪些系统版本、哪些浏览器内核。手动看 UA 字符串效率极低,本工具批量粘贴后直接按系统版本和浏览器型号分组,5 分钟内锁定崩溃集中在 Android 9 的 WebView 内核上,省去逐条正则匹配的体力活。

爬虫 UA 策略调整

运营发现网站某页面流量异常,怀疑是爬虫在刷。运维抓了一小时内的 UA 请求样本,需要判断哪些是真实浏览器、哪些是 Python-requests 或 Scrapy 的默认 UA。本工具把每条 UA 的浏览器引擎、操作系统、设备类型拆开,一眼看出 70% 的请求 UA 字段缺失或版本号异常,据此调整了 WAF 的 UA 黑名单规则。

CDN 厂商兼容测试

前端团队接入了新 CDN 厂商,测试环境发现部分用户上传图片失败。反馈 UA 列表里既有 Chrome 116 也有 Safari 15 和微信内置浏览器。用本工具逐条解析后,发现失败请求集中在「Safari 15 + iOS 15」组合,且 UA 中缺失了部分标准字段。据此定位到 CDN 厂商对 Safari 的 H2 协商有 bug,回滚旧版后问题解决。

H5 页面兼容性分析

产品经理反馈某 H5 活动页在部分用户手机上按钮错位。前端拿到用户上报的 UA 列表,用本工具解析后发现全是「UC Browser 13 + Android 8」的组合。进一步查 UA 中的设备型号字段,发现这批用户用的都是同一款低端机。开发据此在 UC 浏览器下加了 -webkit 前缀的 flex 降级方案,次日错位工单清零。

第三方 SDK 接入验证

接入新推送 SDK 后,测试组发现 Android 端推送到达率下降 15%。怀疑是 SDK 对某些系统版本兼容有问题。用本工具把测试机上报的 UA 批量解析,按 Android 大版本分组后发现,Android 12 及以上设备到达率正常,Android 11 及以下下降明显。最终定位是 SDK 的 Service 保活逻辑在旧版系统上有权限变更,升级 SDK 版本后恢复。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴完整的 User-Agent 字符串(如 Mozilla/5.0...),下方结果区立即显示浏览器、操作系统与设备型号
  2. 2点击「浏览器」结果旁的复制图标,可单独拷贝浏览器名称与版本号
  3. 3展开「系统详情」折叠面板,查看操作系统版本、内核架构等细分字段
  4. 4点击「设备」结果中的型号链接,跳转至该设备的详细参数页

输入输出示例

输入输出说明
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36浏览器: Chrome 120.0.0.0 | 系统: Windows 10 | 设备: PC (x64)常规:Windows 10 + Chrome 120 是最常见的桌面浏览器组合,验证基础解析准确性
Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1浏览器: Safari 17.2 | 系统: iOS 17.2 | 设备: iPhone (Mobile)常规:iPhone 原生 Safari 是移动端最典型场景,验证 iOS 版本和移动设备识别
Mozilla/5.0 (Linux; Android 14; Pixel 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36浏览器: Chrome 120.0.6099.144 | 系统: Android 14 | 设备: Pixel 8 Pro (Mobile)常规:Android 14 + Chrome 120 在 Pixel 8 Pro 上,验证品牌设备型号解析
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0浏览器: Firefox 52.0 | 系统: Windows 7 (NT 6.1) | 设备: PC (x86)边界:Windows 7 旧版 Firefox,NT 6.1 是 Win7 内核版本号,验证旧系统识别
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)浏览器: Googlebot 2.1 | 系统: 未知 | 设备: 爬虫边界:搜索引擎爬虫 UA,无操作系统信息,验证爬虫识别和缺失字段处理
Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; SM-G900V Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36浏览器: Chrome 30.0.0.0 | 系统: Android 4.4.2 (KitKat) | 设备: Samsung Galaxy S5 (SM-G900V)边界:Android 4.4 (KitKat) 老版本 + 三星 Galaxy S5,验证旧版系统及设备型号匹配
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15浏览器: Safari 15.6.1 | 系统: macOS 10.15.7 (Catalina) | 设备: Mac (Intel)易错:macOS 10.15.7 是 Catalina 最后一个版本,Safari 版本号容易与 iOS 混淆,验证 Mac 平台识别
Mozilla/5.0 (Linux; Android 12; SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.153 Mobile Safari/537.36 EdgA/110.0.1587.57浏览器: Edge 110.0.1587.57 (Chromium) | 系统: Android 12 | 设备: Samsung Galaxy S21 Ultra (SM-G998B)易错:Edge for Android 的 UA 中包含 Chrome 版本号和 Edge 版本号,工具需正确提取 Edge 而非 Chrome

常见错误对照

1.把完整 HTTP 请求头当 UA 字符串

✗ 错误GET / HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0...
✓ 修复Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

UA 解析器只处理 User-Agent 字段的值,不是整个请求头。混入首行和 Host 等字段会导致解析失败或结果错乱。

2.截断 UA 字符串导致识别偏差

✗ 错误Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
✓ 修复Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

UA 中浏览器引擎和版本号分布在多个 token 中。截断会丢失 Chrome/版本号 等关键信息,工具只能识别到 Safari 引擎而非具体浏览器。

3.忽略大小写差异导致系统版本误判

✗ 错误Mozilla/5.0 (Linux; Android 13; Pixel 6) AppleWebKit/537.36
✓ 修复Mozilla/5.0 (Linux; Android 13; Pixel 6 Pro) AppleWebKit/537.36

设备型号(如 Pixel 6 Pro 写成 Pixel 6)或系统版本大小写差异(Android 13 vs android 13)会导致匹配不到精确数据库条目,降级为模糊匹配。

4.混入多余空格或换行符

✗ 错误Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
✓ 修复Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

UA 解析器依赖特定分隔符(空格、分号)分割 token。多余空格会破坏 token 边界,导致版本号或平台信息被错误合并或拆分。

5.使用伪造或非标准 UA 字符串

✗ 错误Mozilla/5.0 (compatible; CustomBot/1.0; +http://example.com)
✓ 修复Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

很多爬虫或自定义客户端使用非标准 UA 格式。解析器依赖已知浏览器/操作系统签名库,非标准字符串只能识别为「未知浏览器」或「通用爬虫」。

6.混淆 iOS 与 macOS 的 UA 格式

✗ 错误Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15
✓ 修复Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1

iOS 和 macOS 的 Safari UA 结构相似,但 iOS 版本必须包含「iPhone/iPad」平台标识和「Mobile」标记。缺少这些标记会导致工具误判为 macOS。

7.使用已废弃的 IE 兼容模式 UA

✗ 错误Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Trident/7.0)
✓ 修复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

IE 兼容模式 UA 包含「MSIE」和「Trident」标记,但现代解析器优先识别 Edge/Chrome/Firefox 等主流浏览器。兼容模式 UA 会被正确识别为 IE,但实际浏览器可能是 Edge。

第三节

工作原理

How It Works

核心公式

UA = (Browser, BrowserVersion, OS, OSVersion, DeviceType, DeviceModel)

变量说明

  • UA用户代理字符串,原始输入
  • Browser浏览器名称,如 Chrome
  • BrowserVersion浏览器版本号,如 120.0
  • OS操作系统名称,如 Windows
  • OSVersion操作系统版本,如 10.0
  • DeviceType设备类型,如 Desktop
  • DeviceModel设备型号,如 Pixel 7

示例

输入 UA:Mozilla/5.0 (Linux; Android 14; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.144 Mobile Safari/537.36。解析结果:Browser=Chrome, BrowserVersion=120.0.6099.144, OS=Android, OSVersion=14, DeviceType=Mobile, DeviceModel=Pixel 7。

原始 UA 字符串按空格拆分元素列表逐元素匹配特征词表输出示例输入:Mozilla/5.0 ...拆分后:Mozilla/5.0(Windows NT 10.0; ...)匹配结果:浏览器: Chrome系统: Windows 10浏览器系统设备
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
我复制了一个很长的 UA 字符串进去,结果只显示了“未知”,是不是工具坏了?

不是工具坏了,大概率是 UA 字符串格式不标准或包含非标设备标识。本工具解析基于主流浏览器(Chrome/Firefox/Safari/Edge)和操作系统(Windows/macOS/Android/iOS)的 UA 规范库。如果遇到非标字符串(如某些爬虫、命令行工具 curl/wget、定制 ROM 或魔改浏览器),库中没有对应规则就会回退为“未知”。建议检查复制的 UA 是否完整,不要漏掉开头或结尾的字符。

解析出来的浏览器版本号跟我在设置里看到的差了一个小版本,哪个准?

以解析结果为准。UA 字符串中的版本号是浏览器在发起 HTTP 请求时主动声明的,通常与浏览器“关于”页面显示的版本号一致。偶尔出现差异,可能是浏览器刚自动更新但未重启,导致 UA 未刷新;或者某些浏览器(如新版 Edge)使用 Chromium 内核版本作为兼容标识。本工具直接读取 UA 中声明的数字,不进行版本推算或修正。

同一个 UA 字符串,用这个工具和另一个网站解析,结果不一样,信谁的?

差异通常出现在“设备型号”和“操作系统版本”的提取精度上。本工具采用纯前端正则匹配逻辑,不依赖后端数据库更新,因此对常见浏览器和系统的解析结果稳定且可复现。如果另一个网站解析出了更详细的设备型号(如“iPhone 14 Pro Max”而非“iPhone”),说明其使用了付费或更新的设备指纹库。本工具定位是快速、轻量、无上传的 UA 基础解析,不追求设备指纹级别的精度。

我手机浏览器用这个工具解析,结果说我的系统是“Android 10”,可我手机明明是 Android 11,怎么回事?

UA 字符串中的系统版本号由浏览器内核决定,不一定等于手机系统设置里的版本号。部分浏览器(尤其是系统自带浏览器或旧版 Chrome)会使用其编译时指定的 API 级别来生成 UA,而不是实时读取系统属性。另外,一些手机厂商(如小米、华为)的定制系统在升级后,浏览器 UA 可能未同步更新。本工具只是如实展示 UA 字符串里携带的信息,不进行修正。

解析结果里“设备”一栏显示“PC”,但我用的是平板电脑,是不是不对?

不是不对,是工具的分类粒度问题。很多平板电脑(如 iPad Pro 或带键盘的 Android 平板)在浏览器请求中会发送桌面版 UA,以获取完整的网页布局。本工具的设备识别逻辑主要依赖 UA 中的“Mobile”和“Tablet”关键词:如果 UA 中没有“Mobile”且没有明确的“iPad”或“Tablet”标识,就会被归类为“PC”。如果需要更精确的平板识别,可以手动检查解析结果中的“操作系统”字段。

用这个工具解析 UA,数据会不会被上传到服务器?

不会。本工具完全在浏览器本地运行(FE 实现),你输入的 UA 字符串仅在你的设备内存中被处理,不会通过网络发送到任何服务器。所有解析逻辑都写在页面的 JavaScript 中,即使断网也能正常使用。可以放心粘贴包含个人隐私信息的 UA 字符串(如企业内网环境或特定客户端标识)。

我复制了浏览器开发者工具里 Network 面板的 UA,粘贴进去后解析失败,为什么?

开发者工具里复制的 UA 可能包含隐藏字符或换行符。常见情况:1) 从请求头(Request Headers)区域复制时,可能连带复制了冒号或空格;2) 从多行视图中复制,可能带上了换行符。建议只复制 User-Agent 冒号后面的纯字符串内容,长度通常在 100-200 字符之间。如果仍失败,可以尝试先粘贴到记事本中清除格式,再复制到工具输入框。

这个工具能解析 curl 或者 Python requests 发请求时的 UA 吗?

可以解析,但结果会很简单。curl 默认 UA 是类似“curl/8.4.0”的字符串,Python requests 默认 UA 是“python-requests/2.31.0”,这些不属于浏览器,因此工具会识别出“系统:未知”、“浏览器:curl / python-requests”以及对应的版本号。如果你的目的是调试或验证自己程序设置的 UA 是否生效,这个工具完全够用。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭