User Agent Parser
Decode user agent strings, detect bots and read Client Hints. Runs in your browser.
About this user agent parser
This user agent parser turns a user agent string into the browser, version, rendering engine, operating system, device type, vendor, model and CPU it describes. It also tells you when a string belongs to a bot, from Googlebot to AI crawlers, link-preview bots and command-line tools like curl.
Open it and it parses your own browser first, next to the User-Agent Client Hints your browser exposes. Paste a single string from a log or bug report, or paste a whole column of them and get a summary plus a CSV. Everything runs on this page with the open-source ua-parser-js library (MIT licence). Nothing you paste is uploaded.
It is honest about a modern problem: browsers now deliberately hide details in the user agent. Where the string cannot tell you something, such as Windows 11 versus Windows 10, the tool says so and shows the Client Hint that can.
Features
Three ways in
My browser shows your own string, parsed. Paste a user agent handles one string with samples to try. Bulk list takes up to 5,000 lines at once.
Bot and crawler detection
Around 70 named patterns sort bots into search engines, AI crawlers (GPTBot, ClaudeBot, PerplexityBot, CCBot and others), link-preview bots, SEO crawlers, uptime monitors, HTTP libraries and headless browsers. A generic rule catches unnamed bots that say bot, crawl or spider.
Client Hints next to the string
On Chrome, Edge, Opera and other Chromium browsers the tool reads navigator.userAgentData: brands, mobile, platform, and the high-entropy values platformVersion, architecture, bitness, model and full version list.
Reduced UA detection
Strings in Chromium's reduced format (versions ending .0.0.0, Android 10; K, frozen macOS 10_15_7) are flagged with a note on what has been hidden.
Bulk summary and CSV
See the share of bots, top browsers, operating systems and device types, highlight bot rows in the table, then download or copy the parsed results as CSV for a spreadsheet.
How to use the user agent parser
- 1See your own browser, or paste one user agent or a whole list.
- 2Read the browser, OS, device and engine, and any bot match.
- 3Compare with Client Hints, or download the bulk results as CSV.
When to use it
Reading a bug report
A customer pastes their user agent. Drop it in and you know it is Samsung Internet 28 on Android 14 on a Galaxy S23, which is often enough to reproduce the issue.
Cleaning analytics or server logs
Paste the user agent column from a log export to see how much of your traffic is bots. Then exclude the AI crawlers or SEO bots in your robots.txt file if you do not want them.
Checking what your own browser reveals
Compare the plain string with your Client Hints and see exactly what a site learns by default and what it has to ask for.
What is a user agent string?
Every request your browser makes carries a User-Agent header that names the software making it. A typical one looks like "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36".
Most of that is history. "Mozilla/5.0" dates from the 1990s, when sites served better pages to Netscape. Chrome still says "Safari" and "like Gecko" so that old browser checks keep working. The useful parts are the platform in brackets and the last product tokens, which is exactly what a parser untangles.
What is user agent reduction?
Because detailed user agents help sites fingerprint people, Chromium browsers froze most of the string from 2022 onward. The minor version is always 0.0.0, Windows is always "Windows NT 10.0", macOS is always "10_15_7", and Android becomes "Android 10; K" with no device model. Firefox and Safari cap their platform versions in a similar way.
So a parser can no longer tell Windows 11 from Windows 10, or name a specific Android phone, from a Chromium string alone. Any tool that claims otherwise is guessing. This one points out every frozen token it sees.
How do User-Agent Client Hints work?
Client Hints are the replacement. A few low-entropy hints are sent with every request: Sec-CH-UA (brands and major versions), Sec-CH-UA-Mobile and Sec-CH-UA-Platform. Anything more specific, such as the platform version, CPU architecture or device model, is sent only if the server asks with an Accept-CH response header, or if page JavaScript calls navigator.userAgentData.getHighEntropyValues().
Windows 11 is the classic example: the string says Windows NT 10.0, but the platformVersion hint is 13.0.0 or higher on Windows 11. Firefox and Safari do not support Client Hints, so for those browsers the string is all there is.
- Brands include a deliberately odd entry such as "Not)A;Brand". It is called GREASE and exists to stop sites parsing brands lazily. This tool filters it out.
- platformVersion on Windows: 1 to 10 means Windows 10, 13 or higher means Windows 11, 0 means Windows 7, 8 or 8.1.
Can you trust a bot's user agent?
No. Anyone can send "Googlebot" in a request header, and scrapers often do to get past filters. A user agent match tells you what a client claims to be. To verify a real search crawler, do a reverse DNS lookup on its IP and then a forward lookup on the returned name: genuine Googlebot resolves to googlebot.com or google.com, and Bingbot to search.msn.com.
You can run both halves with the DNS lookup, and see which network an address belongs to with the IP lookup.
Why use Mavros
| Mavros | Typical upload sites | |
|---|---|---|
| Where parsing happens | In your browser, nothing uploaded | Sent to a server, sometimes logged |
| Bulk parsing | Up to 5,000 lines with summary and CSV | One at a time, or a paid API |
| Client Hints | Low and high entropy values shown and explained | Not shown |
| Reduced UA warnings | Every frozen token flagged | Guesses presented as facts |
| Bot categories | Search, AI, preview, SEO, monitoring, libraries, headless | A single bot yes/no |
| Licence | ua-parser-js 1.x, MIT | Closed source |
Tips
- "Mobile Safari" in an Android string is normal. It is Chrome or another Chromium browser keeping old checks happy.
- An iPad in desktop mode sends a Mac user agent. On your own device the tool checks touch support to spot it; on pasted strings that is impossible, and the note says so.
- In-app browsers (Facebook, Instagram, TikTok, LINE) add their own tokens. The parser flags them because they often break logins and downloads.
- Need your IP address alongside the browser details? What is my IP shows both on one screen.
Questions
What is my user agent?
It is the string shown at the top of My browser mode. Press Copy to copy it exactly as your browser sends it.
Why does it say Windows 10 when I have Windows 11?
Browsers send "Windows NT 10.0" on both. In Chromium browsers, the platformVersion Client Hint is 13 or higher on Windows 11, and the tool uses it to show the right version.
Can a website see my exact phone model?
Not from a reduced Chromium user agent, which says "Android 10; K". A site can ask for the model through Client Hints, and Chrome on Android will provide it.
How do I detect bots from a user agent?
Match known crawler names and generic words like bot, crawl and spider, which is what this tool does. For important decisions, verify the IP with reverse DNS too, because bots can fake any user agent.
What is GPTBot?
GPTBot is OpenAI's web crawler. It collects public pages that may be used to train models. Sites can block it in robots.txt with User-agent: GPTBot.
Is the user agent string going away?
Not completely. It still exists for compatibility, but Chromium froze its details and moved them to Client Hints. Expect the string to keep carrying less information.
Does this tool upload what I paste?
No. Parsing happens in your browser with ua-parser-js. Nothing is sent, and the tool keeps working offline once the page has loaded.