Free tool User agent parser with bot and AI crawler check
Paste a user-agent string from a log line, an analytics export or a bug report — or a whole column of them. Each one is broken down into browser, rendering engine, operating system and device, with in-app browsers such as WeChat or Instagram named, and checked against the same bot rules TapCub uses to keep crawlers out of visitor counts.
- Up to 1,000 UAs at once
- 197 bot and AI crawler rules
- Runs locally
Parse user-agent strings
The sample mixes three crawlers with five real visitors, including a reduced Chrome UA and two in-app browsers. Replace it with your own, one per line; the table updates as you type.
One per line. Blank lines are skipped. Paste only the UA, not the whole log line.
User agents
8
Browsers
5
No bot rule matched.
Bots
3
Matched a known bot rule.
AI crawlers
2
Training, AI search or AI agent.
Details
Shown when you paste a single UA.
Results
Hover a UA to see it in full. Scroll sideways on small screens.
| User-Agent | Browser | In-app | Engine | OS | Device | Bot | Purpose |
|---|---|---|---|---|---|---|---|
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible… | — | — | WebKit 537.36 | — | Bot | GPTBot | AI training |
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com… | — | — | — | — | Bot | Googlebot | Search engine |
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible;… | — | — | WebKit 537.36 | — | Bot | ClaudeBot | AI training |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (… | Chrome 130.0 | — | Blink 130 | Windows 10 | Desktop | No bot rule | — |
Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWe… | Mobile Safari 18.1 | — | WebKit 605.1 | iOS 18.1 | Mobile | No bot rule | — |
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, … | Mobile Chrome 130.0 | — | Blink 130 | Android 10 | Mobile | No bot rule | — |
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWe… | WeChat 8.0 | WeChat 8.0 | WebKit 605.1 | iOS 17.5 | Mobile | No bot rule | — |
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWe… | Instagram 340.0 | Instagram 340.0 | WebKit 605.1 | iOS 17.5 | Mobile | No bot rule | — |
What to keep in mind
Reading notes for each line: frozen values, in-app browsers, how to verify a crawler.
- NoteLine 1GPTBot (operator: OpenAI) is an AI crawler. You can allow or block it by name in robots.txt; check the token in the details or the AI bots directory.
- NoteLine 2Googlebot is a well-known crawler name, and anyone can copy it. Confirm real crawls with the operator's published IP ranges or a reverse DNS lookup.
- NoteLine 3ClaudeBot (operator: Anthropic) is an AI crawler. You can allow or block it by name in robots.txt; check the token in the details or the AI bots directory.
- NoteLine 4Reduced Chrome UA: the minor version is always 0.0.0. The full version, real platform version and model are only available through User-Agent Client Hints.
- NoteLine 4Windows 10 and Windows 11 both send "Windows NT 10.0". Only Client Hints (platformVersion 13 or higher) tell Windows 11 apart.
- NoteLine 6Reduced Chrome UA: the minor version is always 0.0.0. The full version, real platform version and model are only available through User-Agent Client Hints.
- NoteLine 6"Android 10; K" is the frozen value Chrome sends since UA reduction, not the real Android version or phone model.
- NoteLine 7An embedded web view inside an app, not a standalone browser. Cookies and storage are separate from the phone's main browser.
- NoteLine 8An embedded web view inside an app, not a standalone browser. Cookies and storage are separate from the phone's main browser.
Share these inputs: the values go after the # in the link, so they never reach a server.
https://tapcub.com/tools/user-agent-parser
Version v1.0Updated Update history
What each column tells you — and what it cannot
A user-agent string is a self-description sent by the client. Everything below is read from that text, so treat it as a claim, not proof.
Browser and version
Names follow the labels in TapCub reports: Mobile Chrome is Chrome on a phone, Chrome WebView is a web page inside an Android app, and in-app clients such as WeChat count as the browser. Versions are cut to major.minor, the same as the report.
Engine
Blink for Chrome, Edge, Opera, Samsung Internet and most Chinese browsers; WebKit for Safari and for every browser on iPhone and iPad; Gecko for Firefox. The engine decides how a page renders, which matters more for layout bugs than the brand name.
OS and device
Device type is inferred from tokens such as Mobile and iPad. Two cases fool every UA parser: iPads that send a Mac UA, and phones in "desktop site" mode. Analytics tools fix these with screen size; a UA alone cannot.
Bot and purpose
A match means the string contains a known crawler token — GPTBot, Googlebot, Baiduspider, curl and 190-odd more. No match does not prove a human: many scrapers send a normal Chrome UA, which is why TapCub also checks headers, client signals, network and request rate.
This page uses a compact rule set so it can run in your browser. On TapCub's own UA sample it agrees with the product's full device library on about 99% of browser names, OS and device types; rare clients and phone marketing names can differ.
Three steps
Nothing to install, nothing to click to run.
-
1
Copy the UA strings
From an access log (the last quoted field in Nginx or Apache combined format), a CSV export, a support ticket or your browser's developer tools. "Use my browser" fills in your own.
-
2
Paste one per line
Up to 1,000 lines. A single line also shows a detail card with model code, operator and robots.txt token.
-
3
Read the table and notes
Check the bot column first, then the notes: frozen versions, web views and look-alike crawlers are flagged per line.
How the parser decides
Rules are checked in order and the first match wins, the same way TapCub's bot matcher works. In-app tokens are checked before generic browser tokens, because a WeChat page also contains "Chrome" or "Safari".
- Bot rules: the 197 user-agent patterns from TapCub's bot rule set, case-insensitive, first match wins
- Versions are trimmed to two parts (130.0, 17.5), as in TapCub reports
- Nothing is guessed from the IP address — this page never sees one
| Token in the UA | Read as | Why |
|---|---|---|
MicroMessenger/8.0 | WeChat 8.0, in-app | Checked before Chrome / Safari tokens in the same string |
miniProgram | WeChat mini program web-view | WeChat adds it inside mini programs (since WeChat 7.0.0) |
; wv) + Chrome/ | Chrome WebView | Android System WebView marks itself with wv |
Edg/, OPR/, SamsungBrowser/ | Edge, Opera, Samsung Internet | Chromium-based; their own token comes after "Chrome/" |
CriOS/, FxiOS/ | Chrome / Firefox on iOS | Still WebKit underneath |
Windows NT 10.0 | Windows 10 | Also sent by Windows 11 |
Android 10; K | Android, model hidden | Chrome's reduced UA |
GPTBot, Googlebot, curl… | Bot, with operator and purpose | TapCub bot rules |
The eight sample UAs, line by line
What the default input resolves to. Three are crawlers, five are people — and most of the five hide part of the truth.
| Line | Browser / app | OS · device | Bot | Worth knowing |
|---|---|---|---|---|
| 1 | — | — | GPTBot · AI training | OpenAI's training crawler; controllable with User-agent: GPTBot |
| 2 | — | — | Googlebot · Search engine | Verify with Google's IP list before trusting it |
| 3 | — | — | ClaudeBot · AI training | Anthropic's crawler |
| 4 | Chrome 130.0 | Windows 10 · Desktop | No bot rule | Could be Windows 11; version minor is frozen |
| 5 | Mobile Safari 18.1 | iOS 18.1 · Mobile | No bot rule | Full, unreduced Safari UA |
| 6 | Mobile Chrome 130.0 | Android 10 · Mobile | No bot rule | "Android 10; K" is frozen: real version and model unknown |
| 7 | WeChat 8.0 | iOS 17.5 · Mobile | No bot rule | Opened inside WeChat, not Safari |
| 8 | Instagram 340.0 | iOS 17.5 · Mobile | No bot rule | Instagram's in-app browser: separate cookies from Safari |
In the device column lines 1–3 show "Bot". TapCub matches the same rules on every hit it receives, so these three would be filed as bots, not counted as visitors.
Where user-agent analysis goes wrong
The UA is useful, but it is easy to read too much into it.
Trusting a crawler name
Any script can send "Googlebot". Block or allow by verified IP ranges or reverse DNS, not by the UA alone.
Reading "Windows 10" or "Android 10" literally
Since Chrome's UA reduction these are often frozen placeholders. Use Client Hints when you need the real platform version.
Counting in-app traffic as a browser
A visitor in WeChat or Instagram has a separate cookie jar and often bounces back to the app. Segment in-app browsers before comparing conversion rates.
Assuming "no bot match" means human
Scrapers routinely copy a current Chrome UA. UA matching catches the honest bots; the rest need header, behaviour and network checks.
Bots counted separately, automatically
TapCub runs the same user-agent rules on every hit, then adds four more layers, so your visitor numbers stay human and the crawlers get their own report.
Bots and AI crawlers report
Five detection layers — user agent, headers, client signals, network and rate — and 197+ built-in rules. Reports show humans only by default.
Learn moreAudience by device and browser
Browser, OS and device breakdowns use the labels you see in this parser, with iPads and desktop-mode phones corrected by screen size.
Learn moreCookieless visitor counting
Visitors are counted from a salted hash that includes browser and OS without version numbers, so an update does not create a new visitor.
Learn moreUser agent parser questions
Still have a question?
Chat with the team behind TapCub — we usually reply within a few hours on business days.
What is a user agent string?
A line of text a browser, app or bot sends with every HTTP request in the User-Agent header. It names the client, its version, the engine and usually the operating system. Websites use it for analytics, compatibility fixes and bot detection.
How do I find my own user agent?
Click "Use my browser" above, or open the What is my user agent page, which also shows the Client Hints, language and screen data your browser exposes.
Why does Chrome say Windows 10 when I use Windows 11?
Chrome never changed the "Windows NT 10.0" token, and since its UA reduction the platform part is frozen anyway. The real version is only available through the Sec-CH-UA-Platform-Version client hint; values of 13 and above mean Windows 11.
What is UA reduction?
Starting with Chrome 101 and finishing in 2023, Chrome froze the parts of its UA that help fingerprinting: minor version shows as 0.0.0, desktop OS versions are fixed, and Android always reads "Android 10; K". Sites that need the details request them through User-Agent Client Hints. Safari and Firefox freeze macOS at 10.15 as well.
Can a user agent be faked?
Yes, trivially. Browser extensions, developer tools and every HTTP library can send any string. That is why a UA match is a strong hint for honest crawlers like GPTBot, but serious bot filtering also checks IP ownership, headers and behaviour.
How do I know if GPTBot or Googlebot really visited?
Check the request IP against the operator's published IP ranges or run a reverse DNS lookup that resolves back to the operator's domain. A UA match alone only tells you what the client claimed to be.
Which in-app browsers does it recognise?
WeChat (including mini program web-views), WeCom, QQ, DingTalk, Feishu / Lark, Alipay, Taobao, Weibo, Douyin, TikTok, Kuaishou, Xiaohongshu, Toutiao, Baidu App, Zhihu, Bilibili, Facebook, Messenger, Instagram, LinkedIn, LINE, Snapchat, Pinterest and X.
Are the user agents I paste uploaded?
No. Parsing happens in your browser; nothing is sent to TapCub. The share link keeps the text after the # in the URL, which browsers never send to a server, and very long lists are not restored from a link.
Update history
New features, fixes and data refreshes for this tool, newest first.
-
· v1.0
LaunchedFirst release.
Data this tool relies on
- Bot and AI crawler rules (same as the TapCub product) — checked 2026-11-10, reviewed every 3 months (next review by 2027-02-10)
Missing something or found an error? Tell us — requests that come up often go into the next update. All tool updates
See which bots read your site, without parsing logs
Add the TapCub snippet and crawlers, AI bots and people are separated on arrival, with the AI crawlers that read your pages on their own report.