User-Agent Parser
Decode a User-Agent string into browser, engine, OS, device and CPU, with in-app webview detection (Facebook FBAN/FBAV, Instagram, TikTok, Android WebView, iOS WKWebView) and a 100+ entry sample library covering desktop, mobile, connected TV (Roku, Samsung Tizen, LG webOS, Fire TV, Android TV, Apple tvOS, Vizio, Comcast X1, PlayStation, Xbox), crawlers (Googlebot, Googlebot-Video, AdsBot, bingbot, GPTBot, ClaudeBot) and HTTP clients. Paste Sec-CH-UA* Client Hints headers to override the frozen UA fields, or pull your own high-entropy hints from navigator.userAgentData. The OpenRTB card derives device.devicetype, make, model, os, osv and a structured sua object and hands them to the OpenRTB Request Builder. "My headers as the server saw them" shows the UA, Client Hints and Accept-Language the relay received. Compare two UAs side by side or classify a pasted batch and export CSV.
Frozen UA: macOS always reports 10_15_7, Chrome minor version is 0.0.0. Real versions live in Client Hints.
Chrome128.0.0.0128—Blink128.0.0.0macOS10.15.7—AppleMacintosh—2 — Personal ComputerAppleMacintoshmacOS10.15.73 — parsed from UA stringDesktop / laptop browser → 2 (Personal Computer).
{
"device": {
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
"devicetype": 2,
"make": "Apple",
"model": "Macintosh",
"os": "macOS",
"osv": "10.15.7",
"sua": {
"browsers": [
{
"brand": "Chrome",
"version": [
"128",
"0",
"0",
"0"
]
},
{
"brand": "Blink",
"version": [
"128",
"0",
"0",
"0"
]
}
],
"source": 3,
"platform": {
"brand": "macOS",
"version": [
"10",
"15",
"7"
]
},
"mobile": 0,
"model": "Macintosh"
}
}
}{
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
"browser": {
"name": "Chrome",
"version": "128.0.0.0",
"major": "128"
},
"engine": {
"name": "Blink",
"version": "128.0.0.0"
},
"os": {
"name": "macOS",
"version": "10.15.7"
},
"device": {
"model": "Macintosh",
"vendor": "Apple"
},
"cpu": {},
"kind": "desktop",
"webview": null
}Related tools
OpenRTB Request Builder
Build OpenRTB 2.6 bid requests with a form or JSON, then send them to any bidder and inspect the response.
OpenRTB Inspector
Validate & annotate OpenRTB 2.6 BidRequest and BidResponse JSON.
IP Address Lookup & Subnet Calculator
Look up any IP: RDAP owner and ASN allocation, reverse DNS, what’s-my-IP, IPv4/IPv6 subnet math, bulk classification.
HTTP Request Tester
Send GET, POST, PUT and other requests to any public URL and inspect status, headers, body, redirects and timing.
How to use User-Agent Parser
- 1Paste a User-Agent string, click "Use my browser’s UA", or open the sample library and pick a browser, webview, CTV device or bot.
- 2Read the browser, engine, OS, device and CPU rows; webview and bot detection appear as tags on the header card.
- 3Open the Client Hints tab and paste Sec-CH-UA* headers (or use "My high-entropy hints" in Chrome) — the merged table shows which fields the hints override.
- 4Copy the OpenRTB device object or click "Open in OpenRTB Builder" to drop it into a bid request.
- 5Use Compare for two UAs side by side, or Batch to classify a column of UAs from your logs and download CSV.
About User-Agent Parser
Decode a User-Agent string into browser, engine, OS, device and CPU, with in-app webview detection (Facebook FBAN/FBAV, Instagram, TikTok, Android WebView, iOS WKWebView) and a 100+ entry sample library covering desktop, mobile, connected TV (Roku, Samsung Tizen, LG webOS, Fire TV, Android TV, Apple tvOS, Vizio, Comcast X1, PlayStation, Xbox), crawlers (Googlebot, Googlebot-Video, AdsBot, bingbot, GPTBot, ClaudeBot) and HTTP clients. Paste Sec-CH-UA* Client Hints headers to override the frozen UA fields, or pull your own high-entropy hints from navigator.userAgentData. The OpenRTB card derives device.devicetype, make, model, os, osv and a structured sua object and hands them to the OpenRTB Request Builder. "My headers as the server saw them" shows the UA, Client Hints and Accept-Language the relay received. Compare two UAs side by side or classify a pasted batch and export CSV.
User-Agent Parser is part of FizzKit — a collection of focused developer and ad-tech tools. This tool uses the FizzKit relay to fetch public URLs on your behalf (so browser CORS rules do not get in the way); fetched content is returned to your browser and not stored.