TapCub is live — analytics, insights and live chat, free on one platform

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
Parser

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.

Results

Hover a UA to see it in full. Scroll sideways on small screens.

User-AgentBrowserIn-appEngineOSDeviceBotPurpose
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible…——WebKit 537.36—BotGPTBotAI training
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com…————BotGooglebotSearch engine
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible;…——WebKit 537.36—BotClaudeBotAI training
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (…Chrome 130.0—Blink 130Windows 10DesktopNo bot rule—
Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWe…Mobile Safari 18.1—WebKit 605.1iOS 18.1MobileNo bot rule—
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, …Mobile Chrome 130.0—Blink 130Android 10MobileNo bot rule—
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWe…WeChat 8.0WeChat 8.0WebKit 605.1iOS 17.5MobileNo bot rule—
Mozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWe…Instagram 340.0Instagram 340.0WebKit 605.1iOS 17.5MobileNo 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.
Runs entirely in your browser. Nothing you type here is uploaded or stored by TapCub.

Share these inputs: the values go after the # in the link, so they never reach a server.

Version v1.0Updated Update history

Read the result

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.

How to use it

Three steps

Nothing to install, nothing to click to run.

  1. 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. 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. 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.

Rules

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
User-agent tokens and what they are read as
Token in the UARead asWhy
MicroMessenger/8.0WeChat 8.0, in-appChecked before Chrome / Safari tokens in the same string
miniProgramWeChat mini program web-viewWeChat adds it inside mini programs (since WeChat 7.0.0)
; wv) + Chrome/Chrome WebViewAndroid System WebView marks itself with wv
Edg/, OPR/, SamsungBrowser/Edge, Opera, Samsung InternetChromium-based; their own token comes after "Chrome/"
CriOS/, FxiOS/Chrome / Firefox on iOSStill WebKit underneath
Windows NT 10.0Windows 10Also sent by Windows 11
Android 10; KAndroid, model hiddenChrome's reduced UA
GPTBot, Googlebot, curl…Bot, with operator and purposeTapCub bot rules
Worked example

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.

Parsed result for each sample user-agent string
LineBrowser / appOS · deviceBotWorth knowing
1——GPTBot · AI trainingOpenAI's training crawler; controllable with User-agent: GPTBot
2——Googlebot · Search engineVerify with Google's IP list before trusting it
3——ClaudeBot · AI trainingAnthropic's crawler
4Chrome 130.0Windows 10 · DesktopNo bot ruleCould be Windows 11; version minor is frozen
5Mobile Safari 18.1iOS 18.1 · MobileNo bot ruleFull, unreduced Safari UA
6Mobile Chrome 130.0Android 10 · MobileNo bot rule"Android 10; K" is frozen: real version and model unknown
7WeChat 8.0iOS 17.5 · MobileNo bot ruleOpened inside WeChat, not Safari
8Instagram 340.0iOS 17.5 · MobileNo bot ruleInstagram'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.

Common mistakes

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.

FAQ

User 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.

Changelog

Update history

New features, fixes and data refreshes for this tool, newest first.

  1. · 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

Next step

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.

See your data clearly. Find your growth.

Every click, backed by data. Install one line of code and see your first numbers in a minute.

No credit card · Free plans for analytics and chat · Cookieless analytics