Current user agent strings for every major browser, ready to copy, plus a searchable database of
real user agents we have been sent. Curated section last checked in August 2026.
1447
Collected strings
53
Distinct browsers
556
Mobile
172
Bots and crawlers
Latest user agent strings
Hand checked against current browser releases. Not sure which one you are on right now?
Check your own user agent.
Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/153.0 Mobile/15E148 Safari/605.1.15
Safari user agents
Apple moved Safari to year based version numbers. The iPhone OS token no longer tracks the real iOS release.
Platform
User agent string
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Safari/605.1.15
iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Mobile/15E148 Safari/604.1
iPad
Mozilla/5.0 (iPad; CPU OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.6 Mobile/15E148 Safari/604.1
Edge user agents
Edge carries the full Chrome string and appends its own Edg/ token at the end.
Platform
User agent string
Windows 10 / 11
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 Edg/151.0.0.0
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 Edg/151.0.0.0
Android
Mozilla/5.0 (Linux; Android 16; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36 EdgA/151.0.0.0
iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 EdgiOS/151.0.0.0 Mobile/15E148 Safari/605.1.15
Opera and other Chromium browsers user agents
All of these are Chromium underneath, so they ship a Chrome token plus a vendor token.
Platform
User agent string
Opera, Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 OPR/136.0.0.0
Opera, macOS
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 OPR/136.0.0.0
Samsung Internet, Android
Mozilla/5.0 (Linux; Android 16; SM-S938B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/28.0 Chrome/151.0.0.0 Mobile Safari/537.36
Brave, Windows (reports as Chrome)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Vivaldi, Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 Vivaldi/7.6
Search engine and AI crawlers user agents
These are the documented strings each vendor publishes. Verify by reverse DNS before you trust one, they are trivial to fake.
Platform
User agent string
Googlebot, smartphone
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Googlebot, desktop
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)
GPTBot
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.2; +https://openai.com/gptbot
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.8330.1859 Safari/537.36 (7472526d-fdec-447c-9957-4142e5b55999)
Chrome
macOS
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (Linux; Android 11; V2039 Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.200 YaBrowser/26.4.0.71 (lite) Mobile Safari/537.36
Yandex Browser
Android
Mobile
Browser
02 Oct 2026
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126 Safari/537.36
Chrome
Linux
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:156.0) Gecko/20100101 Firefox/156.0
Firefox
Ubuntu
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (Windows NT 14.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.169 Safari/537.36
Chrome
Windows
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) GenerikApp/10.0.48
Unknown
macOS
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/155.0.0.0 Safari/537.36 Edg/155.0.0.0
Edge
Windows
Desktop
Browser
02 Oct 2026
Mozilla/5.0 (Linux; Android 9; RMX1941) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Mobile Safari/537.36
Chrome
Android
Mobile
Browser
02 Oct 2026
Mozilla/5.0 (iPhone; CPU iPhone OS 26_6_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/151.0.7922.57 Mobile/15E148 Safari/604.1
Chrome
iOS
Mobile
Browser
02 Oct 2026
Mozilla/5.0 (iPhone; CPU iPhone OS 18_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 QQ/9.3.25.6020 V1_IPH_SQ_9.3.25.6020 NetType/WIFI
iOS WebView
iOS
Mobile
Browser
02 Oct 2026
Mozilla/5.0 (Linux; arm_64; Android 14; TECNO KL4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.7871.70 YaSearchBrowser/26.85.1 BroPP/1.0 YaSearchApp/26.85.1 webOmni Mobile Safari/537.36
Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_8 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 YaBrowser/26.8.7.449.10 YaApp_iOS/2608.7 YaApp_iOS_Browser/2608.7 Safari/604.1 SA/3 Version/18.7
Yandex Browser
iOS
Mobile
Browser
02 Oct 2026
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.52 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Googlebot
Android
Desktop
Bot
02 Oct 2026
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36,gzip(gfe)
Chrome
Windows
Desktop
Browser
01 Oct 2026
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) obsidian/1.8.4 Chrome/130.0.6723.191 Electron/33.3.2 Safari/537.36
Chrome
Windows
Desktop
Browser
01 Oct 2026
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
Picking a user agent that does not get you blocked
The default user agent your HTTP library sends is the fastest way to get blocked. A header that
reads python-requests/2.32.3 or Go-http-client/2.0 is not a browser and every anti bot layer knows
it. Swapping in a real browser string is the first thing anyone doing automation should fix.
Where people go wrong is treating the user agent as the whole job. It is one header. If you claim
to be Chrome 152 on Windows but you do not send the headers Chrome sends, in the order Chrome sends
them, with a matching TLS handshake, the claim falls apart on the first check. Pick a string from
the list above and then make everything else agree with it.
Rules that actually help
Use current versions. Chrome 98 on Windows 7 does not exist in the wild any more.
An old string is as suspicious as no string.
Rotate per session, not per request. A session that is Chrome on request one and
Safari on request two is obviously scripted. Keep an identity for the length of a session.
Match the platform to the behaviour. If your user agent says iPhone, do not send
a desktop viewport, a desktop Accept-Language and a desktop screen size to the JavaScript on the page.
Pair it with the IP. Fifty different browser identities from one address is a
pattern, not a disguise. Rotate through a
proxy list so the addresses vary too.
Do not invent strings. A version number that was never released is a perfect
fingerprint. Copy a real one.
Using these strings in code
Python, with requests:
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36"}
requests.get(url, headers=headers, proxies=proxies, timeout=10)
curl:
curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36" https://example.com
If you want the whole list in your script instead of copying one at a time, the text export gives you
one per line:
/export/user-agents.txt?source=latest for the curated set, or
/export/user-agents.txt?browser=Chrome&device=desktop&limit=500 for a filtered
slice of the collected table.
Where these come from
The curated section is maintained by hand against current browser releases, and the date at the top
of the page tells you when it was last checked. The collected table is different. Those strings were
sent to this site by real clients, deduplicated and parsed. That is why you will find odd ones in
there, old Android builds, in app browsers, regional browsers you have never heard of and a healthy
number of crawlers. That mix is closer to real traffic than any generated list.
We store the string only. It is not linked to an IP address or to any visitor record.
Common questions
What is the latest Chrome user agent?
On Windows, Chrome 152 sends
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36.
The three zeros are deliberate. Chrome froze the minor version fields so the header leaks less.
Why do Windows 10 and Windows 11 look the same?
Both report Windows NT 10.0. Microsoft never bumped the token, so the user agent alone cannot tell
them apart. The Sec-CH-UA-Platform-Version client hint can, if the browser sends it.
Why does Brave look like Chrome?
On purpose. Brave reports the plain Chrome string so that its users blend into the largest possible
crowd. Adding a Brave token would make its users easier to single out, which is the opposite of what
the browser is for.
Are the crawler strings safe to trust?
No. Anyone can send a header that says Googlebot. If you are deciding what to serve based on a crawler
identity, verify it with a reverse DNS lookup on the request IP and then a forward lookup back, which
is what Google and Bing both recommend.
Is there an API for this?
The text export is the API. It is a plain GET, no key needed, and it accepts the same filters as the
table. If you need proxies alongside it, we have a
free proxy API as well.