Dev Utilities
Parse a user agent string into browser, OS, and device
User agent parser reads a User-Agent header and prints a JSON breakdown of the client behind it: browser name and version, rendering engine, operating system, device and CPU architecture when the string carries one. Developers point it at access-log lines to see which browser hit an endpoint, reproduce bug reports that only say "Chrome 126", or build test fixtures from real client strings. The example below resolves to Chrome 126.0.0.0 on Blink, Windows 10, amd64. Parsing uses a bundled copy of ua-parser-js.
How to use User Agent Parser
- Open User Agent Parser in the Toolbox101 app.
- Paste a User-Agent string into the
User-Agent stringbox, from an access log, a request header or your own browser'snavigator.userAgent. - Read the pretty-printed JSON in the
Outputbox:browser,cpu,device,engineandos. - Click
Copyto take the breakdown into a bug report, test fixture or log-analysis script.
Worked example
User Agent Parser returns the output below for this input.
Input
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36Output
{
"browser": {
"name": "Chrome",
"version": "126.0.0.0",
"major": "126"
},
"engine": {
"name": "Blink",
"version": "126.0.0.0"
},
"os": {
"name": "Windows",
"version": "10"
},
"device": {},
"cpu": {
"architecture": "amd64"
}
}Check it yourself: open User Agent Parser and enter the same input.
Frequently asked questions
What can I learn from a user agent string?
The breakdown names the browser (Chrome, Firefox, Safari) with its version and major number, the rendering engine (Blink, WebKit, Gecko), the operating system with its version and, when the string carries them, the device and CPU architecture.
Why are some fields empty in the result?
The parser only reports what the string actually says. Desktop Chrome user agents carry no device token, so device comes back as an empty object, and many bots and minimal clients omit engine or CPU details. An empty field means the string simply did not declare that information.
Can user agent strings be spoofed?
Yes, the User-Agent header is client-controlled text and every browser lets you override it. Treat the parsed result as a hint about the client, not proof of identity. It is fine for statistics and UI decisions, but it must never be your only security boundary.
Why does Chrome's version end in .0.0.0?
Chrome reduced the detail in its User-Agent string: the major version still tracks the release, but the minor, build and patch parts are fixed at 0.0.0. So Chrome/126.0.0.0 means Chrome 126 at any patch level. The parser reports exactly what the header contains; this is how Chrome sends it, not a parsing error.
Use User Agent Parser now
Runs in your browser. Nothing you type is uploaded.