How to use the User-Agent parser
- Paste a full User-Agent string into the User-Agent string box. Take it from an access log, a
User-Agent:request header ornavigator.userAgent. - Read the summary line: Browser, OS and Device.
- Check the table for the Engine, Device vendor, Device model and Bot or tool.
- Read any notes underneath. They explain values the string cannot reveal, such as the real macOS version.
What it does and when to use it
User-Agent strings are long because every browser copies tokens from older ones. Chrome says “Safari”, Edge says “Chrome”, and nearly all start with “Mozilla/5.0”. This parser applies the matching rules in the right order so derived browsers (Edge, Opera, Samsung Internet, Brave, in-app browsers) are not reported as plain Chrome or Safari.
Use it to read a strange entry in server logs, to check why a bug report shows a “mobile” layout, or to see whether traffic comes from a crawler or a script. For the headers that surround it, see the HTTP Headers Ref.
How it works
The parser runs a set of regular expressions in your browser, in this order: known bots and HTTP tools first, then the rendering engine (Blink, WebKit, Gecko, EdgeHTML, Trident, Presto), the browser, the operating system and finally the device type. Device types are Desktop, Mobile, Tablet, TV, Console and Bot. Android models are read from the text before Build/, and a few common prefixes map to a vendor (SM- to Samsung, Pixel to Google). There is no device database and no server lookup.
Worked examples
A Samsung phone.
Mozilla/5.0 (Linux; Android 14; SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.6668.81 Mobile Safari/537.36
Result: Chrome 129.0.6668.81, Blink, Android 14, Mobile, Device vendor | Samsung, Device model | SM-S918B.
A reduced Android string. Mozilla/5.0 (Linux; Android 10; K) … Chrome/130.0.0.0 Mobile Safari/537.36 gives Android 10 and Mobile, but no vendor or model. A note explains that Chrome reduces the model to “K”. In reduced strings the Android version is frozen at 10 as well, so the phone may run a newer one.
A script. curl/8.7.1 is reported as curl 8.7.1, device type Bot, Bot or tool | Yes.
Limits and tips
- The User-Agent is self-reported. Treat the result as a hint, not proof.
- New browsers and unusual devices may show as Unknown or as the browser they copy.
- For feature support, test features in code rather than parsing the User-Agent.
- To rebuild a request with a custom User-Agent, use the cURL Builder; to inspect the URL that was requested, use the URL Parser.
Frequently asked questions
How do I see my own User-Agent?
Why does it say "Windows 10 or 11"?
Can I trust the result to block bots?
Why is the Chrome version 130.0.0.0?
Which bots and tools does it know?
How do we know nothing is uploaded? Test it yourself on the privacy proof page.